Files
dsProject/Doc/2、Mysql5.7安装.md
2025-08-14 15:45:08 +08:00

4.5 KiB
Raw Blame History

安装Mysql $5.7$

yum install lrzsz -y
mkdir /usr/local -p
cd /usr/local
rz -be  选择 mysql-5.7.42-el7-x86_64.tar.gz
tar -zxf mysql-5.7.42-el7-x86_64.tar.gz
mv mysql-5.7.42-el7-x86_64 mysql
rm -rf mysql-5.7.42-el7-x86_64.tar.gz

vi /etc/profile
#添加如下内容
export PATH=/usr/local/mysql/bin:$PATH
#然后source生效
source /etc/profile

#添加用户并授权相关
useradd mysql
id mysql
mkdir /data/mysql -p
chown -R mysql:mysql /usr/local/mysql/*
chown -R mysql:mysql /data/*

其中:
/usr/local/mysql/是MySQL软件所在目录。
/data/mysql是将来存放MySQL数据的目录。

#安装依赖包
yum install libaio -y
#初始化数据库
mysqld --initialize-insecure  --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql


#配置文件

vi /etc/my.cnf

[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql
skip-external-locking
skip-name-resolve
back_log = 100
max_connections = 2048
max_connect_errors = 30
table_open_cache = 2048
open_files_limit = 16384
max_allowed_packet = 16M
read_buffer_size = 8M
read_rnd_buffer_size = 32M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 16
query_cache_size = 128M
query_cache_limit = 4M
slow_query_log = 1
long_query_time = 2
lower_case_table_names = 1
innodb_file_per_table = 1
max_allowed_packet = 64M
server-id = 1
log-bin = mysql-bin
expire_logs_days = 7
binlog_format = ROW

innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 2G
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 170M
innodb_lock_wait_timeout = 60

管理MySQL_etc/init.d

mkdir /etc/init.d -p
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

重定向文件

ln -s /usr/lib64/libncurses.so.6.2 /usr/lib64/libncurses.so.5
ln -s /usr/lib64/libtinfo.so.6.2 /usr/lib64/libtinfo.so.5

#启动、重启命令
service mysqld start
service mysqld restart

重置密码

/etc/init.d/mysqld stop

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql
update mysql.user set authentication_string=PASSWORD("DsideaL147258369") where user='root' and host='localhost';

flush privileges;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'DsideaL147258369' WITH GRANT OPTION; 

flush privileges;
exit

/etc/init.d/mysqld restart
mysql -uroot -pDsideaL147258369

现在用Navicat Prenium就可以远程访问到数据库了。

YLT项目中使用的用户名ycharge密码ycharge 需要创建
CREATE USER 'ycharge'@'%' IDENTIFIED BY 'ycharge';
GRANT all privileges ON yltcharge.* TO 'ycharge'@'%';
FLUSH PRIVILEGES;

创建使用账号

GRANT ALL PRIVILEGES ON *.* TO ycharge@"%" IDENTIFIED BY "ycharge";
flush privileges;

/etc/my.cnf

[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/db/mysql_bkdata
log-bin=/usr/local/mysql/binlog
binlog_format=row
server_id=1
port=22066
socket=/tmp/mysql.sock


default-time-zone='Asia/Shanghai'

lower_case_table_names=1
max_connections = 2048
max_connect_errors = 30
table_open_cache = 2048
open_files_limit = 16384
max_allowed_packet = 16M
read_buffer_size = 8M
read_rnd_buffer_size = 32M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 16
query_cache_size = 128M
server_id=1

port=22066
socket=/tmp/mysql.sock


default-time-zone='Asia/Shanghai'

lower_case_table_names=1
max_connections = 2048
max_connect_errors = 30
table_open_cache = 2048
open_files_limit = 16384
max_allowed_packet = 16M
read_buffer_size = 8M
read_rnd_buffer_size = 32M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 16
query_cache_size = 128M
query_cache_limit = 4M
slow_query_log = 1
long_query_time = 2
innodb_file_per_table = 1
max_allowed_packet = 64M

innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 2G
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 170M
innodb_lock_wait_timeout = 60

#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysql]
socket=/tmp/mysql.sock

挂载磁盘

mount /dev/sdb1 /usr/local/db