CentOS_8 安裝MySQL5.7
1、在安裝之前,如果你的系統曾經安裝過Mariadb,請先解除安裝:
yum remove mariadb*
2、安裝依賴
yum install -y epel-release
yum update -y
yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost-doc boost-devel libaio-devel
3、下載解壓MySQL原始碼包
cd /opt/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
tar -zxf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
4、配置環境變數[root@cs opt]# vim /etc/profile
#新增如下內容
export PATH=/opt/mysql/bin:$PATH
#然後source生效
[root@cs opt]# source /etc/profile
5、新增使用者並授權相關
useradd mysql
id mysql
mkdir /data/mysql -p
chown -R mysql:mysql /opt/mysql/*
chown -R mysql:mysql /data/*
其中:
/opt/mysql/
是MySQL軟體所在目錄。/data/mysql
是將來存放MySQL資料的目錄。
6、初始化資料庫
mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql
上述引數,並不難理解:
--initialize-insecure
,表示不安全的初始化。這個引數來自於--initialize
引數,在MySQL5.7版本中,在初始化成功後,會生成一個臨時密碼,相對比較麻煩,所以這裡改為--initialize-insecure
,初始化成功後,密碼為空。--user=mysql
,管理MySQL的使用者是mysql
。--basedir=/opt/mysql
,是你MySQL的安裝目錄。--datadir=/data/mysql
,是管理資料的目錄。
7、在初始化完成後,你的MySQL的資料目錄,應該有這些檔案:
[root@localhost mysql]# ll /data/mysql/
總用量 122948
-rw-r-----. 1 mysql mysql 56 8月 24 16:30 auto.cnf
-rw-r-----. 1 mysql mysql 305 8月 24 17:00 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 8月 24 17:00 ibdata1
-rw-r-----. 1 mysql mysql 50331648 8月 24 17:00 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 8月 24 16:30 ib_logfile1
-rw-r-----. 1 mysql mysql 12582912 8月 24 17:00 ibtmp1
-rw-r-----. 1 mysql mysql 27486 8月 24 17:00 localhost.localdomain.err
-rw-r-----. 1 mysql mysql 6 8月 24 17:00 localhost.localdomain.pid
drwxr-x---. 2 mysql mysql 4096 8月 24 16:30 mysql
drwxr-x---. 2 mysql mysql 8192 8月 24 16:30 performance_schema
drwxr-x---. 2 mysql mysql 8192 8月 24 16:30 sys
[root@localhost mysql]#
7、配置檔案
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/opt/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=3306 [\\d]>
8、管理MySQL_etc/init.d
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
9、啟動、重啟命令
service mysqld start
service mysqld restart
10、如果設定密碼不成功,可繞過密碼登入,重新設定
/etc/init.d/mysqld stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
update mysql.user set authentication_string=PASSWORD("123456") where user='root'and host='localhost';
flush privileges;
/etc/init.d/mysqld restart
mysql -uroot -p
成功!!
centos8 安裝mysql5.7 後,mysql命令登入不成功,
報錯:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory。
按照百度的方法都不成功,應該和系統版本有關,後來自己想到一個方法:yum install libncurses*,完美解決問題。