参考 http://blog.csdn.net/wolf_love666/article/details/76157849?utm_source=5ibc.net&utm_medium=referral,记录自己安装用到的命令。
定义好每个MYSQL软件的端口和配置文件,可安装多个。
【这些操作在 /usr/local/xxtsoft/下,我的mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz包就放在 /usr/local/xxtsoft/下】
groupadd mysqlxxt
useradd -r -g mysqlxxt -s /bin/false mysqlxxt
tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5306
cd /usr/local
ln -s /usr/local/xxtsoft/mysql5306/ mysql5306
cd /usr/local/mysql5306
mkdir data
mkdir logs
mkdir mysql-files
chmod 750 mysql-files
touch my.cnf //在my.cnf里添加my.cnf配置
chown -R mysqlxxt .
chgrp -R mysqlxxt .
bin/mysqld --defaults-file=/usr/local/mysql5306/my.cnf --initialize --user=mysqlxxt
bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql5306/my.cnf
----------------【生成的临时密码,在logs里】------------------------------------------
p-EpfVeU8r9-
----------------【生成的临时密码,在logs里】------------------------------------------
【启动】
bin/mysqld_safe --defaults-file=/usr/local/mysql5306/my.cnf --socket=/usr/local/mysql5306/data/mysql.sock --port=5306 --user=mysqlxxt &
【登录】
mysql --socket=/usr/local/mysql5306/data/mysql.sock --port=5306 -uroot -p登录时用到临时密码
【修改密码】
SET PASSWORD FOR root@localhost=PASSWORD('123456');
【授权任何远程都可登录】
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; 确保'root'@'%'密码是123456
【重载授权表】:
FLUSH PRIVILEGES;
【关闭】
mysqladmin -h127.0.0.1 -uroot -p123456 --port=5306 shutdown
【创建执行脚本和启动服务】
cp /usr/local/mysql5306/support-files/mysql.server /etc/init.d/mysqld5306 复制脚本
chmod +x /etc/rc.d/init.d/mysqld5306 执行权限
chmod 755 /etc/init.d/mysqld5306 执行权限
chkconfig --list mysqld5306 查看有没有加过
chkconfig --add mysqld5306 添加到服务列表中
chkconfig --level 3 mysqld5306 on设置启动
在文件/etc/init.d/mysqld5306中搜索basedir、datadir、conf、$bindir/mysqld_safe ,并修改:
basedir='/usr/local/mysql5306'
datadir='/usr/local/mysql5306/data'
conf='/usr/local/mysql5306/my.cnf'
$bindir/mysqld_safe --defaults-file="$conf" --datadir="$datadir" --socket="/usr/local/mysql5306/data/mysql.sock" --port=5306 --pid-file="$mysqld_pid_file_path" --user="mysqlxxt" $other_args >/dev/null &
【启动服务 】
service mysqld5306 start 启动服务
【可以不用,最近一次正常配置没用到】
bin/mysql 启动mysql
update user set PASSWORD=PASSWORD('123456') where user='root' and host='localhost';
update mysql.user set authentication_string=PASSWORD('123456') where User='root'; 如果提示没有password字段用这句
chown -R root .
chown -R mysqlxxt data mysql-files
-----------------------------------后期登录-----------------------------------------------------
[如果启动后密码过期不对]
创建mysql-init文件,在里边写上
[1]ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysqlxxt';
如果1不行,写上2
[2]
UPDATE mysql.user
SET authentication_string = PASSWORD('123456'), password_expired = 'N'
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
启动时,带上init-file
bin/mysqld_safe --defaults-file=/usr/local/mysql5306/my.cnf --init-file=/usr/local/mysql5306/mysql-init --socket=/usr/local/mysql5306/data/mysql.sock --port=5306 --user=mysqlxxt &
-----------------------------------后期登录-----------------------------------------------------
【查看进程】
ps -ef | grep mysql
---------------my.cnf配置-----------------------
[client]
#password = your_password
port = 5306
socket = /usr/local/mysql5306/data/mysql.sock
[mysqld]
basedir= /usr/local/mysql5306
datadir = /usr/local/mysql5306/data
port = 5306
character-set-server=utf8
server_id = 11
#该socket最好指定,不指定的话默认的话 是使用的默认的socket文件 而且登陆数据库的时候会有我下面的问题
socket = /usr/local/mysql5306/data/mysql.sock
log-error =/usr/local/mysql5306/logs/error.log
pid-file =/usr/local/mysql5306/data/mysql5306.pid
【如果报错】
[root@y-freeCC mysql5306]# bin/mysqld --defaults-file=/usr/local/mysql5306/my.cnf --initialize --user=mysqlxxt
bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
安装numactl即可
yum install numactl