You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

222 lines
4.5 KiB

2 months ago
### 安装$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
```