centos7傻瓜式安裝mysql5.7

環境說明

特別注意: 文檔中涉及到密碼的都是用的是弱密碼,是存在安全風險的,一定要根據自己的情況修改爲複雜度更高的密碼!

  • centos 7.6
  • mysql 5.7.31
  • 基礎目錄: /srv/{app,data,logs}/mysql

準備安裝

下載並解壓

yum install libaio -y
useradd -c 'MySQL Server' -d /srv/app/mysql -s /bin/false -r -M mysql 
cd /srv/app
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
tar mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
mkdir -p /srv/{data,logs}/mysql /var/run/mysqld
chown -Rf mysql:mysql /srv/{app,data,logs}/mysql /var/run/mysqld

進行安裝

配置my.conf

[mysqld]
basedir=/srv/app/mysql
datadir=/srv/data/mysql
socket=/srv/data/mysql/mysql.sock
default_password_lifetime = 0
max_allowed_packet = 128M
max_connections = 5000
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
federated
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
innodb_buffer_pool_size = 2G
innodb_log_buffer_size=16M
innodb_log_file_size = 256M
innodb_log_files_in_group=2
innodb_max_dirty_pages_pct=75
innodb_flush_method=O_DIRECT
innodb_read_io_threads=8
innodb_write_io_threads=10
innodb_thread_concurrency=32
innodb_io_capacity=5000
read_buffer_size=8M
read_rnd_buffer_size=8M
sort_buffer_size=8M
join_buffer_size=4M
tmp_table_size=16M
query_cache_type=0
query_cache_size=0
thread_cache_size = 16
open_files_limit = 65535


innodb_flush_log_at_trx_commit = 2
skip-external-locking
key_buffer_size = 16M
table_open_cache = 64
net_buffer_length = 8K
myisam_sort_buffer_size = 8M
lower_case_table_names=1
bulk_insert_buffer_size = 1M
group_concat_max_len = 204800

symbolic-links=0
log_timestamps=SYSTEM
log-error=/srv/logs/mysql/mysqld.log
pid-file=/srv/app/mysql/mysqld.pid
slow-query-log=On
slow_query_log_file=/srv/logs/mysql/slow-query.log

[mysql]
auto-rehash
socket=/srv/data/mysql/mysql.sock

[client]
default-character-set=utf8
socket=/srv/data/mysql/mysql.sock

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

初始化MySQL

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

查看默認root用戶的密碼

grep 'temporary password' /srv/logs/mysql/mysqld.log

配置開機啓動項

  • 辦法1(推薦使用)

如果使用這個辦法,需要修改上面的my.cnf文件對應的pid-file !

[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service 
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target

[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/var/run/mysqld/mysqld.pid
TimeoutSec=0
PermissionsStartOnly=true
ExecStart=/srv/app/mysql/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
ExecStartPre=/usr/bin/mkdir -p /var/run/mysqld
ExecStartPre=/usr/bin/chown mysql:mysql /var/run/mysqld
ExecStartPre=/usr/bin/chmod 0755 /var/run/mysqld
LimitNOFILE = 5000
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false

[Install]
WantedBy=multi-user.target
  • 辦法2:
cp -r /srv/app/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

以上兩種辦法任選一種就可以啦, 要想將mysql加入到開機啓動可以執行 systemctl enable mysqld

修改root用戶的密碼

可以使用上面初始化後的密碼進行登錄

shell>mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

創建可以遠程的用戶

因爲不建議直接用root用戶進行遠程

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章