mysql8簡介
1、在8.0版本之前,默認字符集爲latin1,utf8指向的是utf8mb3,8.0版本默認字符集爲utf8mb4,utf8默認指向的也是utf8mb4。
2、系統表全部換成事務型的innodb表,默認的MySQL實例將不包含任何MyISAM表,除非手動創建MyISAM表。
準備
下載mysql軟件包,我這裏下載的是mysql-8.0.13-linux-glibc2.12-x86_64
解壓到指定文件夾
# tar -xf mysql-8.0.13-linux-glibc2.12-x86_64.tar -C /usr/local/
改名
# mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
添加mysql用戶,並把mysql文件夾授權給該用戶
# useradd mysql
# cd /usr/local/mysql
# chown -R mysql.mysql ./
安裝
初始化數據庫,會出現密碼,需要記住密碼,第一次登錄需要用該密碼
# cd /usr/local/mysql/bin
# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
如果出現./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
錯誤,則需要安裝libaio:
# rpm -qa|grep libaio
# yum install libaio-devel.x86_64
注:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
//初始化數據庫
這個命令和mysql5.7之前的命令不一樣了,之前命令是:bin/mysql_install_db --user=mysql
,但是之後的版本已經被mysqld --initialize
替代
把新建的data目錄也授權給mysql
chown -R mysql.mysql ./data
修改配置文件
[root@server-133 mariadb]# cat /etc/my.cnf
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set = utf8mb4
[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
#datadir=/var/lib/mysql
##socket=/var/lib/mysql/mysql.sock
## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
max_connections=800
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-authentication-plugin=mysql_native_password
啓動mysql,爲了方便啓動,作如下操作
[root@ssiy support-files]# cp mysql.server /etc/init.d/mysql
[root@ssiy support-files]# chkconfig --add mysql #設置開機啓動
[root@ssiy support-files]# chkconfig --list mysql #查看
[root@ssiy support-files]# systemctl start mysql #啓動數據庫
配置環境變量
vi /etc/profile
文件中寫入:
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
這樣就可以直接在任意路徑使用mysql命令
登錄數據庫,這時候需要用到初始化時的密碼
mysql -uroot -prq%K-:pqm3Z! # 後面是系統生成的密碼
進去以後需要修改密碼後才能對數據庫做進一步操作
alter user 'root'@'localhost' identified by '1234';
修改完密碼後,退出,用新密碼重新登錄,就可以正常操作數據庫了