CentOS 7.6下解壓安裝(非編譯安裝)mysql8.0.18

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-el7-x86_64.tar.gz

1、建立mysql用戶

# groupadd -r mysql

# useradd -g mysql -r -M -s /sbin/nologin mysql //這個mysql用戶不能登錄

2、解壓安裝

# tar zxvf mysql-8.0.18-el7-x86_64.tar.gz

# mv mysql-8.0.18-el7-x86_64 /mnt/local/mysql

3、修改目錄權限

# cd /mnt/local/mysql/

# chown -R mysql:mysql ./ //修改當前目錄爲mysql用戶

# mkdir -p /mnt/data/mysql

# chown -R mysql:mysql /mnt/data/mysql

# chown -R mysql:mysql /mnt/data/mysql/.

4、開始安裝

# cd /mnt/local/mysql/bin

# ./mysqld --initialize --user=mysql --basedir=/mnt/local/mysql --datadir=/mnt/data/mysql/

如果報:

./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

解決辦法爲:

yum -y install numactl

如果報:

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解決辦法爲:

yum install libaio-devel.x86_64

5、編輯my.cnf

vim /etc/my.cnf

[mysqld]
basedir=/mnt/local/mysql
datadir=/mnt/data/mysql
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
port = 3369
max_connections=5000
wait_timeout=70
interactive_timeout=70
slow_query_log = 1
long-query-time = 1.0
slow_query_log_file = /mnt/logs/mysql/slow.log
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
default-authentication-plugin=mysql_native_password

[mysql]
default-character-set = utf8mb4

[client]
port=3369
max_allowed_packet=500M
socket=/tmp/mysql.sock

[mysqld_safe]
log-error=/mnt/logs/mysql/error.log
pid-file=/var/run/mariadb/mariadb.pid

!includedir /etc/my.cnf.d

6、設置my.cnf相關的目錄的權限

# mkdir -p /mnt/logs/mysql/

# chown -R mysql:mysql /mnt/logs/mysql/.

# touch /mnt/logs/mysql/error.log

# chmod -R 777 /mnt/logs/mysql/error.log

# touch /mnt/logs/mysql/slow.log

# chmod -R 777 /mnt/logs/mysql/slow.log

7、爲mysql配置環境變量

vim /etc/profile // 打開profile文件,在文件末尾添加下面三行

export MYSQL_HOME

MYSQL_HOME=/mnt/local/mysql

export PATH=$PATH:$MYSQL_HOME/lib:$MYSQL_HOME/bin

執行:source /etc/profile 

創建軟連接

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

Tip:刪除軟連接:rm -rf mysql,不要帶/,否則會將源文件刪除掉

 

8、設置爲開機自啓動項。

# cp /mnt/local/mysql/support-files/mysql.server /etc/init.d/mysql

# chmod +x /etc/init.d/mysql //添加可執行權限。

# chkconfig --add mysql // 註冊啓動服務

輸入chkconfig --list //查看是否添加成功

啓動:service mysql start

停止:service mysql stop

重啓:service mysql restart

說明:basedir如果指定不是/usr/local/mysql目錄則啓動mysql時可能會報(在本次安裝mysql8.0.18地未遇到,在之前遇到過):

# service mysql start

/etc/init.d/mysql: line 239: my_print_defaults: command not found

/etc/init.d/mysql: line 259: cd: /usr/local/mysql: No such file or directory

Starting MySQLCouldn't find MySQL server (/usr/local/mysql/[FAILED]ld_safe)

解決辦法:

由上面可知mysql的tar.gz安裝包的默認安裝目錄爲/usr/local/mysql, 這時候我們需要修改/support-files/mysql.server文件的basedir和datadir目錄路徑爲我們環境所在的mysql的basedir和datadir路徑, 如下:

# vim /etc/init.d/mysql

--------------------------

...

basedir=/mnt/local/mysql

datadir=/mnt/data/mysql

...

--------------------------

mysql -u root -p //登錄進入mysql,然後提示輸入密碼並讓修改系統自動生成的密碼

mysql8設置用戶新密碼方式

> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your password';

> FLUSH PRIVILEGES

設置允許root遠程訪問(慎用)

> use mysql

mysql> select host,user from user;

mysql> update user set host='%' where host = 'localhost';

mysql> FLUSH PRIVILEGES;

 

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