安装配置mysql-8.0.26文档
小白大爱,复制粘贴即可
系统版本 | mysql版本 |
---|---|
Rocky 9.2 / cnetos7 | MySQL 8.0.26 |
废话没有,直接上码。
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.26-el7-x86_64.tar.gz
tar -xf mysql-8.0.26-el7-x86_64.tar.gz
mv mysql-8.0.26-el7-x86_64 /usr/local/mysql
cd /usr/local/mysql/
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
mysql 单节点 配置文件 适用大部分mysql配置文件
vi /etc/my.cnf
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#skip-name-resolve
port = 3306
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
max_connections=5000
character-set-server=UTF8MB4
default-storage-engine=MyISAM
lower_case_table_names=1
max_allowed_packet=16M
sql-mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
server-id=160
innodb-file-per-table=1
wait_timeout=2880
interactive_timeout=2880
innodb_buffer_pool_size = 10G
innodb_log_file_size= 1G
key_buffer_size = 1536M
max_allowed_packet = 16M
table_open_cache = 500
tmp_table_size = 2048M
max_heap_table_size = 2048M
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 128M
thread_cache_size = 8
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
mysql 主从同步 主节点 配置文件
vi /etc/my.cnf
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
log-bin=mysql-bin
#skip-name-resolve
port = 3066
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
max_connections=5000
character-set-server=UTF8MB4
default-storage-engine=MyISAM
lower_case_table_names=1
sql-mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
server-id=1
innodb-file-per-table=1
wait_timeout=2880
interactive_timeout=2880
innodb_buffer_pool_size = 10G
innodb_log_file_size= 1G
key_buffer_size = 1536M
max_allowed_packet = 1024M
table_open_cache = 500
tmp_table_size = 2048M
max_heap_table_size = 2048M
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 128M
thread_cache_size = 8
relay_log=mall-mysql-relay-bin
relay_log_index=relay-log.index
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
mysql 主从同步 从节点 配置文件
vi /etc/my.cnf
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#开启日志
#replicate-wild-ignore-table=mysql.*
#replicate-wild-ignore-table=sys.*
#slave-skip-errors = 1032
default_authentication_plugin=mysql_native_password
#skip-name-resolve
port = 3066
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
max_connections=5000
character-set-server=UTF8MB4
default-storage-engine=MyISAM
lower_case_table_names=1
max_allowed_packet=1024M
sql-mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
server-id=100
innodb-file-per-table=1
wait_timeout=2880
interactive_timeout=2880
innodb_buffer_pool_size = 10G
innodb_log_file_size= 1G
key_buffer_size = 1536M
max_allowed_packet = 1024M
table_open_cache = 500
tmp_table_size = 2048M
max_heap_table_size = 2048M
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 128M
thread_cache_size = 8
#跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
#1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
#relay_log配置中继日志
relay_log=mall-mysql-relay-bin
relay_log_index=relay-log.index
#log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
具体场景 参考 以上配置
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql/
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
这时就会出现mysql初始密码,需要记一下 i(mA<Ir0vy/l BvdkL,iO-6YX
启动mysql
./support-files/mysql.server start --user=mysql
登录mysql
./bin/mysql -u root 如果有以下报错 解决方式如下
./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
exit 进到root
cd /usr/lib64/
ln -s libtinfo.so.6 libtinfo.so.5
ln -s libncurses.so.6.2 libncurses.so.5
cd /usr/local/mysql/
然后在 ./bin/mysql -u root -p‘默认密码’
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
### 创建新用户并授权:(不用做)
# create user 'mysqldev'@'%' identified by '2022';
# flush privileges;
# grant all privileges on *.* to 'mysqldev'@'%' with grant option;
# flush privileges;
### 创建mysql只读授权:
# GRANT Select ON *.* TO Yu_921hl@'172.17.%'IDENTIFIED BY "Yu_@12hl"(原密码)
mysql乱码改为中文命令:
set names utf8;
配置环境变量:
vi /etc/profile
export PATH=/usr/local/mysql/bin:${PATH}
source /etc/profile
systemctl 管理 mysqld
vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=mysqld.service
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
# 刷新 systemctl 配置
systemctl daemon-reload
# 先关闭手动启动的mysql
/usr/local/mysql/support-files/mysql.server stop
#再使用systemctl 启动
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld