记录centos7安装mysql5.7安装记录

下载完

image

解压到当前目录:

tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
image

mysql主目录处理

在software目录下移动文件到/usr/local/mysql:

mv mysql-5.7.23-linux-glibc2.12-x86_64/usr/local/mysql
image
cd/usr/local/mysql`

mkdir data
image

主目录权限处理

查看组和用户情况

cat /etc/group | grep mysql

cat /etc/passwd |grep mysql
image

若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户。

image

在查看就会发现没有,说明你已经删掉了

image

创建mysql组和mysql用户

groupadd mysql

useradd -r -g mysql mysql

chown -R mysql:mysql /usr/local/mysql
image

创建配置文件及相关目录

修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。

vim /etc/my.cnf

修改内容:

image

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port = 3306

socket=/tmp/mysql.sock

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/tmp/mysqld/mysqld.pid

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

log-bin=mysql-bin

binlog-format=ROW

server_id=1

max_connections=1000

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

:wq! 保存退出。

创建文件/tmp/mysql.sock:设置用户组及用户,授权


cd /tmp

touch mysql.sock

chown mysql:mysql mysql.sock

chmod 755 mysql.sock

image

创建文件/tmp/mysqld/mysqld.pid:


mkdir mysqld

cd mysqld

touch mysqld.pid

cd ..

chown -R mysql:mysql mysqld

cd mysqld

chmod 755 mysqld.pid

image

创建文件/var/log/mysqld.log:


touch /var/log/mysqld.log

chown -R mysql:mysql /var/log

cd log

chmod 755 mysqld.log

image

配置文件其他参数,仅供参考https://blog.csdn.net/u011823494/article/details/74548642

进入bin目录:

cd /usr/local/mysql/bin/
image

初始化数据库:

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

注:

这时会出现错误

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

image

解决方案:

 yum install -y libaio
image

如果是内网不能上网的环境,那么就得手动安装 numactl-2.0.9-2.el6.x86_64.rpm 和 libaio-0.3.109-13.el7.x86_64.rpm 这两个rpm包

rpm -ivh  numactl-2.0.9-2.el6.x86_64.rpm

rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

然后在执行

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data
image

安全启动:

./mysqld_safe --user=mysql &
image

是否启动成功,可以通过查看mysql进程,ps -ef | grep mysql

image

默认密码在mysqld.log日志里, 找到后保存到安全的地方:

cat /var/log/mysqld.log
image

其中root@localhost: 后面的就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题)

进入bin目录:

cd /usr/local/mysql/bin/

image

登录mysql:

./mysql -u root -p

拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端。

image

但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。

show databases;
image

假设密码修改为xh2018

mysql> set password=password("xh2018");

image

设置远程登录权限

mysql>grant all privileges on *.* to 'root'@'%' identified by 'xh2018';

image

立即生效:

mysql> flush privileges;

image

退出quit 或者 exit;

mysql> quit;

image

至此,mysql安装流程已结束,后续如果通过远程ip进行root用户授权,还需要到mysql库下的user表中把%对应的root用户所有权限改为Y,否则远程授权会失败,参考:https://blog.csdn.net/nininininiabc222/article/details/80090384

开机服务启动设置:

把support-files/mysql.server 拷贝为/etc/init.d/mysql:

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
image

查看是否拷贝成功

image

查看mysql服务是否在服务配置中

chkconfig --list mysql
image

若没有,则把mysql注册为开机启动的服务,然后在进行查看

chkconfig --add mysql
chkconfig --list mysq
image

启动 或 停止

service mysql start
image
service mysql stop

创建快捷方式:

服务启动后,直接运行mysql -u root -p即可登录,不需要进入到对应的目录。

ln -s /usr/local/mysql/bin/mysql /usr/bin
image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容