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*,完美解決問題。