Skip to content

Mysql安装

on docker

mysql8.0
docker pull mysql:8.0
mkdir -p /data/mysql/data
mkdir -p /data/mysql/conf.d
echo ' [mysqld]' >/data/mysql/conf.d/mysqld.cnf
echo ' default_authentication_plugin=mysql_native_password' >>/data/mysql/conf.d/mysqld.cnf
echo ' datadir=/var/lib/mysql' >>/data/mysql/conf.d/mysqld.cnf
echo ' max_allowed_packet=300M' >>/data/mysql/conf.d/mysqld.cnf
echo ' skip-external-locking' >>/data/mysql/conf.d/mysqld.cnf
echo ' skip-name-resolve' >>/data/mysql/conf.d/mysqld.cnf
echo ' character_set_server = utf8mb4' >>/data/mysql/conf.d/mysqld.cnf
echo ' collation_server = utf8mb4_general_ci' >>/data/mysql/conf.d/mysqld.cnf
echo ' lower_case_table_names = 1' >>/data/mysql/conf.d/mysqld.cnf
echo ' innodb_file_per_table = 1' >>/data/mysql/conf.d/mysqld.cnf
echo ' server-id = 10' >>/data/mysql/conf.d/mysqld.cnf
echo ' log-bin = mysql-binlog' >>/data/mysql/conf.d/mysqld.cnf
echo ' gtid-mode = ON' >>/data/mysql/conf.d/mysqld.cnf
echo ' enforce-gtid-consistency' >>/data/mysql/conf.d/mysqld.cnf
echo ' sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' >>/data/mysql/conf.d/mysqld.cnf
useradd mysql
chown -R mysql:mysql /data/mysql
ls -lnd /data/mysql
docker run -p 3306:3306 --restart=always --name mysql8.0 -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf.d:/etc/mysql/conf.d\
-e MYSQL_ROOT_PASSWORD=gaojinbo.com -d mysql:8.0
docker exec -it mysql8.0 sh -c 'exec mysql -uroot -pgaojinbo.com -e "show databases;"'
mysql8.4
docker pull mysql:8.4
mkdir -p /data/mysql/data
mkdir -p /data/mysql/conf.d
echo ' [mysqld]' >/data/mysql/conf.d/mysqld.cnf
echo ' mysql_native_password=ON' >>/data/mysql/conf.d/mysqld.cnf
echo ' datadir=/var/lib/mysql' >>/data/mysql/conf.d/mysqld.cnf
echo ' max_allowed_packet=300M' >>/data/mysql/conf.d/mysqld.cnf
echo ' skip-external-locking' >>/data/mysql/conf.d/mysqld.cnf
echo ' skip-name-resolve' >>/data/mysql/conf.d/mysqld.cnf
echo ' character_set_server = utf8mb4' >>/data/mysql/conf.d/mysqld.cnf
echo ' collation_server = utf8mb4_general_ci' >>/data/mysql/conf.d/mysqld.cnf
echo ' lower_case_table_names = 1' >>/data/mysql/conf.d/mysqld.cnf
echo ' innodb_file_per_table = 1' >>/data/mysql/conf.d/mysqld.cnf
echo ' server-id = 10' >>/data/mysql/conf.d/mysqld.cnf
echo ' log-bin = mysql-binlog' >>/data/mysql/conf.d/mysqld.cnf
echo ' gtid-mode = ON' >>/data/mysql/conf.d/mysqld.cnf
echo ' enforce-gtid-consistency' >>/data/mysql/conf.d/mysqld.cnf
echo ' sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' >>/data/mysql/conf.d/mysqld.cnf
useradd mysql
chown -R mysql:mysql /data/mysql
ls -lnd /data/mysql
docker run -p 3306:3306 --restart=always --name mysql8.4 -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf.d:/etc/mysql/conf.d\
-e MYSQL_ROOT_PASSWORD=gaojinbo.com -d mysql:8.4
docker exec -it mysql8.4 sh -c 'exec mysql -uroot -pgaojinbo.com -e "show databases;"'

on centos

mysql5.7
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
yum install mysql-community-server -y
#改密
grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'gaojinbo.com';
mysql8.4
wget https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
rpm -ivh mysql84-community-release-el7-1.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
yum install mysql-community-server -y
#改密
grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'gaojinbo.com';

on ubuntu/debian

mysql8.x
wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
dpkg -i mysql-apt-config_0.8.30-1_all.deb
#mysql5.7
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
dpkg -i mysql-apt-config_0.8.24-1_all.deb
#添加key
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
cd /etc/apt;cp trusted.gpg trusted.gpg.d
apt update
apt install mysql-server -y