Linux安裝mysql服務

0.版本說明

環(huán)境:centos7.9
版本:mysql-8.0.19

1.查詢所有Mysql對應的文件夾

查詢命令如下:

whereis mysqlm
find / -name mysql

如果查到相關目錄或文件,刪除

rm -rf xxxxx

重復執(zhí)行第一步,驗證是否刪除完畢

2.檢查mysql用戶組和用戶是否存在

[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd |grep mysql

如果沒有,則創(chuàng)建

groupadd mysql
useradd -r -g mysql mysql

再次驗證

[root@localhost /]# cat /etc/group | grep mysql
mysql:x:1000:
[root@localhost /]# cat /etc/passwd |grep mysql
mysql:x:997:1000::/home/mysql:/bin/bash

3.安裝

3.1.解壓Mysql安裝包

cd /opt/software
tar -Jxvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

3.2.將解壓的文件夾移動到/opt目錄下,并重命名為/mysql

mv /opt/software/mysql-8.0.19-linux-glibc2.12-x86_64 /opt/mysql

3.3.在/opt/mysql目錄下新建/data文件夾和/logs文件夾和/pid文件夾

mkdir /opt/mysql/data
mkdir /opt/mysql/logs
mkdir /opt/mysql/pid

3.4.創(chuàng)建相應的文件

touch /opt/mysql/logs/mysql.log 
touch /opt/mysql/pid/mysql.pid

3.5.更改mysql目錄下所有的目錄及文件夾所屬的用戶組和用戶,以及權限

chown -R mysql:mysql /opt/mysql
chmod -R 755 /opt/mysql

chown -R mysql:mysql /opt/mysql/data
chmod -R 755 /opt/mysql/data

chown -R mysql:mysql /opt/mysql/logs
chmod -R 755 /opt/mysql/logs

chown -R mysql:mysql /opt/mysql/pid
chmod -R 755 /opt/mysql/pid

3.6.修改/opt/mysql/support-files/mysql.server中/usr/local/mysql改為/opt/mysql

4.配置my.cnf

/ect/my.cnf文件內(nèi)容如下,可直接復制覆蓋

[mysqld_safe]
log-error =/opt/mysql/logs/mysql.log
pid-file = /opt/mysql/pid/mysql.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
port = 3306
socket = /opt/mysql/data/mysql.sock
 
[mysqld]
port = 3306
server-id = 3306
user = mysql
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
socket = /opt/mysql/data/mysql.sock
# 設置mysql的安裝目錄
basedir = /opt/mysql
# 設置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir = /opt/mysql/data
log-bin = /opt/mysql/logs/mysql-bin
innodb_data_home_dir =/opt/mysql/data
innodb_log_group_home_dir = /opt/mysql/logs
#設置mysql數(shù)據(jù)庫的日志及進程數(shù)據(jù)的存放目錄
log-error =/opt/mysql/logs/mysql.log
pid-file = /opt/mysql/pid/mysql.pid
# 服務端使用的字符集默認為8比特編碼
character-set-server = utf8mb4
lower_case_table_names= 1
autocommit = 1
skip-name-resolve
 
##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 20M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
 
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
 
binlog_format=mixed
 
binlog_expire_logs_seconds =864000
 
# 創(chuàng)建新表時將使用的默認存儲引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
 
[mysqldump]
quick
max_allowed_packet = 16M
 
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
 
[mysqlhotcopy]
interactive-timeout

5.初始化Mysql

5.1.檢查服務器上有沒有這個libaio庫

檢查命令如下

rpm -qa|grep libaio

如果沒有,安裝,命令如下

yum install  libaio-devel.x86_64

5.2.初始化mysql

cd /opt/mysql/bin
./mysqld --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql --initialize

5.3.在/opt/mysql/logs/mysql.log文件中找到初始密碼,復制出來

A temporary password is generated for root@localhost: Dior*60,SRXp

6.啟動Mysql

6.1.啟動命令

cd /opt/mysql/bin
./mysqld_safe &

6.2.查看MySql進程,確認是否啟動成功

ps -ef|grep mysqld

6.3.進入mysql

./mysql -u root -p
Enter password:  #此處輸入之前從mysql.log中獲取的密碼

6.4.修改root密碼

mysql> ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY 'root賬號新密碼';
mysql> flush privileges; #刷新權限

6.5.開放遠程連接

mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;

7.創(chuàng)建readonly只讀用戶

7.1.創(chuàng)建一個名叫readonly的用戶

mysql> CREATE USER 'readonly'@'localhost' IDENTIFIED BY '設置賬號密碼';

7.2.為 readonly 用戶設置只讀的權限

mysql> GRANT SELECT ON *.* TO 'readonly'@'localhost';
mysql> flush privileges;

以下補充,賦予全部權限的方法

mysql> GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'localhost';
mysql> flush privileges;

7.3.檢查readonly 用戶的權限

mysql> SHOW GRANTS FOR 'readonly'@'localhost';
+-----------------------------------------------+
| Grants for readonly@localhost                 |
+-----------------------------------------------+
| GRANT SELECT ON *.* TO `readonly`@`localhost` |
+-----------------------------------------------+
1 row in set (0.00 sec)

7.4.開放遠程連接

mysql> use mysql;
mysql> update user set user.Host='%' where user.User='readonly';
mysql> flush privileges;

8.創(chuàng)建開機自啟動mysql服務

8.1.將服務文件拷貝到init.d下,并重命名為mysqld

cd /opt/mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysqld

8.2.賦予可執(zhí)行權限

chmod +x /etc/rc.d/init.d/mysqld

8.3.修改mysqld.service文件

位置:/usr/lib/systemd/system/mysqld.service,如果文件不存在,需要創(chuàng)建,內(nèi)容如下

[Unit]
Description=MySQL Server
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
Type=notify
ExecStart=/opt/mysql/bin/mysqld $MYSQLD_OPTS

PrivateTmp=false

8.4.設置開機啟動

systemctl enable mysqld.service

8.5.相關命令如下

service mysqld start
service mysqld stop
service mysqld restart
service mysqld reload

9.結束語

本篇只記錄自己的學習過程,更好的提升自己

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容