Centos 版本 7.2
MySQL 版本 5.7
创建文件夹
cd /
mkdir data
cd data
解压 mysql 安装包
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
文件夹重命名
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
在mysql中新建data目录
cd mysql
mkdir data
查看系统是否含有mysql用户和用户组
id mysql
给系统添加 mysql 用户和组
groupadd mysql #添加组
cat /etc/group | grep mysql #检查是否成功
useradd -r -g mysql mysql #添加用户
cat /etc/passwd | grep mysql #检查是否成功
给mysql 用户设置密码
passwd mysql #pwd phone
给MySQL 授权,以便能够读写以及执行必要的文件
chown -R mysql:mysql /data/mysql
chmod -R 775 /data/mysql
没有创建 my-default.cnf
配置文件(关于mysql性能的)
cd /data/mysql/support-files/
vi my-default.cnf
my-default.cnf 文件内容如下
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
basedir = /data/mysql
datadir = /data/mysql/data
bind-address = 0.0.0.0
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 128M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 8M
thread_cache_size = 8
query_cache_size= 16M
max_connections = 213
wait_timeout = 31536000
interactive_timeout = 30
max_connect_errors = 9
long_query_time = 1
tmp_table_size = 16M
#log-bin=mysql-bin
#binlog_format=mixed
#server-id = 1
lower_case_table_names = 1
[mysqldump]
quick
max_allowed_packet = 8M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 12M
sort_buffer_size = 1M
read_buffer = 1M
write_buffer = 1M
[mysqlhotcopy]
interactive-timeout
重新授权
chown -R mysql:mysql /data/mysql
chmod -R 775 /data/mysql
将 /data/mysql/support-files
文件夹下的 my-default.cnf
和 mysql.server
复制到 /etc/ 下对应位置
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysqld
修改 /etc/init.d/mysqld
中的参数
vi /etc/init.d/mysqld
# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.
basedir=/data/mysql
datadir=/data/mysql/data
# Default value, in seconds, afterwhich the script should timeout waiting
# for server start.
# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir"
then
basedir=/data/mysql
bindir=/data/mysql/bin
if test -z "$datadir"
then
datadir=/data/mysql/data
fi
sbindir=/data/mysql/bin
libexecdir=/data/mysql/bin
添加环境变量
vi /etc/profile
source /etc/profile #激活
export MYSQL=/data/mysql
export PATH=$PATH:$MYSQL/bin:
安装mysql
cd /data/mysql/bin
./mysqld --basedir=/data/mysql --user=mysql --datadir=/data/mysql/data --initialize
出现如下问题
yum install libaio
安装成功
若未成功 data directory has files in it
需要把 /data/mysql/data 目录删除,重新创建,再授权
cd /data/mysql
rm -rf data
mkdir data
chown -R mysql:mysql /data/mysql
chmod -R 775 /data/mysql
cd /data/mysql/bin
./mysqld --basedir=/data/mysql --user=mysql --datadir=/data/mysql/data --initialize
启动和关闭服务器
service mysqld start
service mysqld stop
目前位置 /data/mysql/bin
把 mysqld_safe 中 usr/local/mysql 换成执行安装的路径名 ,执行如下代码
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
进入mysql环境中,修改root密码
mysql
use mysql;
update user set authentication_string=PASSWORD('自定义密码比如手机号') where user='root';
flush privileges;
exit;
注意 第一次登陆,需要再次设置密码,修改之后,方可成功
mysql
alter user 'root'@'localhost' identified by '自定义phone';
flush privileges;
exit;
重启数据库
service mysqld restart
查看端口号
进入mysql
mysql -uroot -p
use mysql;
select user,host from user;
update user set host='%' where user='root';
flush privileges;
exit;
service mysqld restart
查看防火墙状态
firewall-cmd --state
进入阿里云开放端口号
重新连接 即可