1. 檢查是否有安裝mysql,有就刪除mysql
rpm安裝查看:rpm -qa | grep mysql dpkg安裝查看:dpkg-l|grep mysql yum安裝查看:yum list installed | grep mysql 源碼安裝查看:查看是否有mysql文件
2. 下載最新版mysqlsql
https://dev.mysql.com/downloads/mysql/ 選擇Linux Generic通用版和Compressed TAR Archive壓縮源碼,選擇不登錄直接下載
3. 解壓重命名數據庫
tar -zxvf *.tar.gz tar -xvJf *.tar.xz // 通常後綴爲這個解壓 mv * mysql // *爲文件名
4. 添加組和用戶並建立存儲文件夾安全
groupadd mysql // 添加組 useradd -r -g mysql mysql // 爲組添加用戶
mkdir /app/software/mysql_data // 建立數據存儲文件夾
5. 初始化mysqlapp
./bin/mysqld --user=mysql --lower-case-table-names=1 --initialize-insecure --basedir=/app/source/mysql --datadir=/app/software/mysql_data
# 使用mysql用戶權限進行初始化,並設置數據讀寫忽略大小寫,初始化密碼爲空,和肯定初始化mysql文件夾於存儲文件夾
# 如報錯libaio.so.1, 則:yum install libaio
6. 修改配置/etc/my.cnfsocket
[mysqld] server-id = 1 user = mysql #指定用戶,使用配置啓動安全需求
port = 3306 mysqlx_port = 33060 mysqlx_socket = /tmp/mysqlx.sock datadir = /app/software/mysql_data socket = /tmp/mysql.sock pid-file = /tmp/mysqld.pid log-error = error.log #默認mysql_data目錄 slow-query-log = 1 slow-query-log-file = slow.log long_query_time = 0.2 log-bin = bin.log relay-log = relay.log binlog_format = ROW relay_log_recovery = 1 character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect = 'SET NAMES utf8mb4' innodb_buffer_pool_size = 1G join_buffer_size = 128M sort_buffer_size = 2M read_rnd_buffer_size = 2M log_timestamps = SYSTEM lower_case_table_names = 1 default-authentication-plugin = mysql_native_password
7. 更改權限,添加服務ide
chown -R mysql:mysql /app/software/mysql_data #修改全部者
chmod -R 777 /app/software/mysql_data #增長權限 ./support-files/mysql.server文件中修改: basedir=/app/source/mysql datadir=/app/software/mysql_data cp -a ./support-files/mysql.server /etc/init.d/mysql #添加服務
service mysql start/stop/restart #測試啓動,如報錯,查看error.log,根據錯誤提示解決
8. 設置全局測試
修改/etc/profile文件,在export PATH...上面: #set for mysql export MYSQL_HOME=/app/mysql export PATH=$PATH:$MYSQL_HOME/bin 刷新配置source /etc/profile
9. 開機啓動spa
# 設置開機啓動 touch /usr/lib/systemd/system/mysql.service [Unit] Description=mysql After=network.target After=syslog.target [Service] User=mysql Group=mysql
ExecStart=/app/source/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 #Restart=on-failure #RestartPreventExitStatus=1 #PrivateTmp=false [Install] WantedBy=multi-user.target
systemctl start/stop/restart mysql.service #啓動服務
systemctl enable mysql.service #設爲開機啓動
10 新增用戶和權限rest
use mysql; create user username identified by 'password'; select host, user from user; show grants for username; grant all on 數據庫.* to 'username'@'%'; flush privileges;