今天搭建服务器学习mysql安装特此分享
一、新建用户如果权限不足前加入 sudo命令
adduser mysql
passwd mysql
二、获取mysql安装包;
三、解压安装包;
tar -zxvf ./mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C ../app
四、重命名文件
mv mysql-5.7.32-linux-glibc2.12-x86_64/ mysql
新建文件夹
mkdir log
mkdir mysqld
给权限:
chown -R mysql:mysql /u01/app/mysql
五、配置/etc/my.cnf,(以下内存配置针对32G)
# For advice on how to change settings please see
# MySQL :: MySQL 5.7 Reference Manual :: 5.1.2 Server Configuration Defaults
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/u01/app/mysql/data
basedir=/u01/app/mysql
socket=/u01/app/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/u01/app/mysql/log/mysqld.log
pid-file=/u01/app/mysql/mysqld/mysqld.pid
lower_case_table_names=1
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
character-set-server=utf8
innodb_file_per_table=1
port = 3306
max_connections=6000
default-storage-engine=INNODB
log-bin=mysql-bin
server-id=8085
expire_logs_days=28
event_scheduler=1
innodb_buffer_pool_size = 4G
innodb_buffer_pool_instances = 16
innodb_lock_wait_timeout = 20
sort_buffer_size = 1048576
innodb_thread_concurrency = 32
innodb_max_dirty_pages_pct = 75
explicit_defaults_for_timestamp = 1
join_buffer_size = 1M
tmp_table_size = 67108864
interactive_timeout = 7200
wait_timeout = 7200
read_buffer_size = 2097152
read_rnd_buffer_size = 2097152
innodb_lru_scan_depth = 2000
innodb_io_capacity = 2000
innodb_io_capacity_max = 6000
innodb_log_files_in_group = 3
innodb_flush_neighbors = 1
innodb_log_file_size = 1G
innodb_sort_buffer_size = 2097152
binlog_cache_size = 2M
key_buffer_size = 16M
max_heap_table_size = 67108864
thread_cache_size = 1200
innodb_write_io_threads = 10
[client]
default-character-set=utf8
socket=/u01/app/mysql/mysql.sock
六、配置文件权限赋值
chmod 664 /etc/my.cnf
七、初始化,注意按需修改路径
/u01/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/u01/app/mysql --datadir=/u01/app/mysql/data
八、使用mysql用户启动程序
/u01/app/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
九、找出初始密码
grep 'A temporary password' /u01/app/mysql/log/mysql.log
十、登录mysql
/u01/app/mysql/bin/mysql -uroot -p'日志中的密码' -S /u01/app/mysql/mysql.sock
十一、命令行界面指向命令 修改密码
不登陆改密码:
mysqladmin -u root -p'R+eSld?se6FT' password 'Abcd#321'
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mysql');
flush privileges;
exit;
# 新密码数据库登录
/u01/app/mysql3307/bin/mysql -uroot -pmysql -S /u01/app/mysql3307/mysql.sock
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' with grant option;
CREATE USER `edge`@`%` IDENTIFIED BY 'edge' PASSWORD EXPIRE NEVER;
GRANT Select ON `edge\_db`.* TO `edge`@`%`;
GRANT Select ON `edgink\_db`.* TO `edge`@`%`;
flush privileges;
CREATE DATABASE `edge_db` CHARACTER SET 'utf8' COLLATE 'utf8_bin';
CREATE DATABASE `edgink_db` CHARACTER SET 'utf8' COLLATE 'utf8_bin';
CREATE DATABASE `my2` CHARACTER SET 'utf8' COLLATE 'utf8_bin';
exit;
十二、配置环境变量
vi /etc/profile
MYSQL_HOME=/u01/app/mysql
PATH=$PATH:$MYSQL_HOME/bin
export PATH MYSQL_HOME
十三、重新加载配置文件
source /etc/profile
mysql -uroot -pmysql
exit
十四、防火墙配置
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
十五、mysql注册为服务,设置开机自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list