linux下安装mysql简书_linux下安装MySQL

操作系统:centos 7.2

MySQL版本:mysql-5.6.36

1、卸载当前已经安装的mysql

检查已经安装的mysql

rpm -qa | grep mysql

rpm -qa | grep mariadb

卸载

rpm -e xxxx

rpm -e --nodeps xxxxxx

2. 检查mysql组和用户是否存在,如无创建。

cat /etc/group | grep mysql

cat /etc/passwd | grep mysql

新建组

groupadd mysql

新建用户

useradd -r -g mysql mysql

-r 是表示该用户是系统用户,不能用于登陆系统。

3、安装mysql

tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

mv mysql-5.6.36-linux-glibc2.5-x86_64/ /usr/local/mysql

新建mysql的数据目录

mkdir /mnt/toolbox/mysql/

赋予mysql用户的数据目录访问权限

chown mysql /mnt/toolbox/mysql/

cd /usr/local/mysql/scripts

./mysql_install_db --basedir=/usr/local/mysql --datadir=/mnt/toolbox/mysql --user=mysql

(5.7.17命令如下:

/usr/local/mysql/bin/mysqld --initialize --user=mysql

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/opt/toolbox/mysql/

)

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

vi /etc/my.cnf

在[mysqld]后增加下面这句,用于忽略表名的大小写

lower_case_table_names=1

在[mysqld]后增加下面这句,用于解决中文乱码问题

character_set_server=utf8

mysql配置后面会贴出来

将mysql加入到系统启动中。

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

vi /etc/init.d/mysql 添加以下内容

basedir = /usr/local/mysql

datadir = /mnt/toolbox/mysql

添加到系统启动并设置mysql自动启动

chkconfig --add mysql

chkconfig mysql on

启动mysql

service mysql start

修改root密码

vi /etc/my.cnf

在[mysqld]下面增加一行

skip-grant-tables

重启MySQL

service mysql restart

登录mysql 修改root 密码

/usr/local/mysql/bin/mysql -u root

use mysql

update user set password=password('bonatone') where user='root';

flush privileges;

exit

将刚才加上去的skip-grant-tables删掉 ,再重启mysql

创建mysql数据库

create database test default character set utf8 collate utf8_general_ci;

创建用户

create user 'dsy'@'%' identified by 'dsy';

给用户分配权限

grant all on test.* to dsy;

grant all on test.* to dsy@'%' identified by 'dsy';

grant all on test.* to dsy@'localhost' identified by 'dsy';

flush privileges;

检查数据库编码格式

show variables like "%char%";

SET character_set_server='utf8';

flush privileges;

让mysql能执行函数:用root登陆执行下面代码。可以开放触发器权限

SET GLOBAL log_bin_trust_function_creators = 1;

flush privileges;

至此,mysql已经安装完成.

4、安装中可能会遇到的问题及解决办法:

1、mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

文件权限问题

解决方法:

mkdir /var/log/mariadb

touch /var/log/mariadb/mariadb.log

chown -R mysql:mysql /var/log/mariadb/

2、[ERROR] SSL error: Unable to get private key from 'server-key.pem'

find / -name server-key.pem

解决方法:

chown -R mysql:mysql /var/lib/mysql/

3、2017-11-08T09:30:33.168222Z 0 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use

2017-11-08T09:30:33.168225Z 0 [ERROR] Do you already have another mysqld server running on port: 3306 ?

2017-11-08T09:30:33.168230Z 0 [ERROR] Aborting

端口占用错误

解决方法:

关闭占用的端口即可

4、/usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory)

没有创建该目录和权限

解决方法:

mkdir /var/run/mariadb/

chown -R mysql:mysql /var/run/mariadb/

5、Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

mysql.sock问题(解决方法很多,这只是其中一个)这是可以由于系统默认的文件位置和文件位置不一致,解决办法找到文件创建软链接

解决方法:

find / -name mysql.sock

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值