Linux安裝MySQL教程

軟件統一放在/usr/software下 解壓後放在單獨的文件夾下/usr/local/java    /usr/local/mysql

其中:#爲Linux命令,mysql則是mysql下的命令

軟件統一放在/usr/software下 解壓後放在單獨的文件夾下/usr/local/java    /usr/local/mysql

安裝包下載mysql-5.7.24-linux-glibc2.12-x86_64.tar

網址https://dev.mysql.com/downloads/mysql/5.7.html#downloads

 

1. 安裝依賴

# yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel

2. 解壓文件

壓縮包上傳到虛擬機/usr/software目錄下,進入這個目錄

解壓文件

# tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

將解壓後的文件移動到/usr/local/mysql

# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

3. 添加用戶和賦權

1.添加用戶和用戶組

給mysql賦權的用戶必須對當前目錄具有讀寫權限,但是一般不用root賬戶,所以創建一個用戶mysql。

執行命令:創建用戶組mysqlgroupadd mysql`

創建用戶也叫mysql

// 命令中第一個mysql是用戶,第二個mysql是用戶組。
# useradd -r -g mysql mysql

2.給用戶賦權限

一定保證當前是在/usr/local/mysql 目錄下

給用戶組賦權限

//mysql是用戶組名
# chgrp -R mysql.

給用戶賦權限

//這個mysql是用戶名
#  chown -R mysql.

4. 數據庫初始化

安裝數據庫 :

// 這裏會生成臨時密碼,後邊有用
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

執行以下命令創建RSA private key :

# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

5. 配置my.cnf

# vim /etc/my.cnf

內容如下:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不區分大小寫 (sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 這個簡單來說就是sql語句是否嚴格)
lower_case_table_names = 1
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
# vim /etc/init.d/mysqld

添加以下內容,在46行

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

6. 修改密碼

啓動mysql

# service mysqld start

加入開機起動

# chkconfig --add mysqld

進入客戶端

登錄修改密碼

# mysql -uroot -p 上面初始化時的密碼

如果出現錯誤 需要添加軟連接

# ln -s /usr/local/mysql/bin/mysql /usr/bin

如果出現Access denied for user 'root'@'localhost' (using password: YES)應該是密碼錯了,直接強行修改密碼好了。先停掉mysql.

# service mysql stop

然後修改配置文件

# vim /etc/my.cnf

在[mysqld]後面任意一行添加skip-grant-tables用來跳過密碼驗證的過程

接下來我們需要重啓MySQL

# /etc/init.d/mysqld restart

重啓之後輸入命令mysql即可進入mysql了,然後開始修改密碼。

mysql> use mysql;
# 這裏修改密碼的命令在5.7以上和5.7以下是不同的 需要注意
mysql> update user set authentication_string=passworD("你的密碼") where user='root';
flush privileges;
mysql> quit

完成後可以把配置文件中的跳過密碼驗證去掉。

然後就可以正常使用啦。

7. 外部訪問

首先進入mysql,

# mysql -u root -p

接着創建遠程連接 MySQL 的用戶 mysql命令

-- 創建用戶、密碼及權限範圍 第一個 roo t爲用戶名 @後爲適用的主機,‘%’表示所有電腦都可以訪問連接,第二個 root 爲密碼
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION;  
-- 立即生效
mysql> flush privileges;

查看數據庫用戶:

-- 使用 mysql 庫
mysql> use mysql;
-- 查看用戶
mysql> SELECT DISTINCT CONCAT('User: [', user, '''@''', host, '];') AS USER_HOST FROM user;  
-- 查看端口
mysql> show global variables like 'port';
--mysql 默認端口爲3306

解決防火牆問題

防火牆默認只開放了22端口,要訪問數據庫要麼關掉防火牆要麼修改配置文件,開放3306端口

修改防火牆配置: 命令

# vim /etc/sysconfig/iptables

添加以下內容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

然後重啓防火牆

# service iptables restart

最後查看服務器IP

# ip a

到這裏應該就可以通過IP和端口號遠程連接服務器上的MySQL了。

8. 問題

mysql中執行命令出現以下錯誤:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解決: 修改用戶密碼

mysql> alter user 'root'@'localhost' identified by '你的密碼';

參考

https://blog.csdn.net/z13615480737/article/details/80019881

https://www.cnblogs.com/goodcheap/p/7103049.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章