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

222 lines
4.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 安装$Mysql$ $5.7$
```shell
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
```shell
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;
```
#### 创建使用账号
```sql
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
```