Linux MySQL安装配置

官方下载地址:http://dev.mysql.com/downloads/mysql/

1. 下载合适的版本,解压到 /usr/local/mysql 目录下;

2. 进行到 /usr/local/mysql 目录下,创建 data/mysql 目录,后面将会设置把数据库保存在此目录下;

3. 添加用户和用户组

#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql

 3.1

useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql     ---新建msyql用户禁止登录shell

4. 改变目录属有者

chown -R mysql:mysql ./

 4.1

chown –R mysql .
chgrp –R mysql .
chown -R mysql /usr/local/mysql/data/mysql

5. 安装数据库

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

上面是最新的安装方式,之前的老的安装命令是

./bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql

6. 配置 mysql-server

cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp support-files/my-default.cnf /etc/my.cnf

7. 修改启动脚本 /etc/init.d/mysqld ,将basedir和datadir设置成mysql安装目录和数据库存放目录

basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql

相关命令

#测试连接
./mysql/bin/mysql -u root
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status

8. 数据库安装好之后,此时尚未设置密码,接下来需要修改mysql登录密码

mysqladmin -u root -h localhost [-p] password 'your password' # 设置密码
mysqladmin -u root flush-privileges # 让密码立即生效

参考自: http://bbs.51cto.com/thread-804870-1-1.html

 8.1 除了上面的方法 ,还有另外一种方法也可以()

1,在/etc/my.cnf末尾  加入skip-grant-tables,保存,跳过身份验证。
2,重启MySql,使刚才修改的配置生效。
3,终端输入mysql,然后再输入use mysql;
4,终端输入update mysql.user set authentication_string=password('123456') where user='root';
5,在/etc/my.cnf末尾  去掉skip-grant-tables,保存。
6,重启MySql,终端输入 mysql -u root -p ,然后根据提示输入刚设置的密码即可正常使用了。
说明:之所以要修改密码是因为出现Access denied for user 'root'@'localhost'的错误,通过免密码登录的方式更改密码,输入update mysql.user  set password=password('123456') where user='root'时提示 Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string。

9. 配置自动启动

chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

 

10. 可能遇到的问题

Q: error while loading shared libraries: libaio.so.1

A:参考 [Link], sudo apt-get install libaio-devel

 

Q:Can t find messagefile '/usr/share/mysql/english/errmsg.sys

A:参考 [Link],将mysq-x.x.x/sql/share/english/errmsg.sys拷贝到系统的/usr/share/mysql/english/下。

 

Q:Couldn't find MySQL server (/usr/bin/mysqld_safe)

A:参考 [Link], rm /etc/mysql/my.cnf   

 

Q:Table ‘mysql.plugin’ doesn’t exist

A:参考 [Link1, Link2],是因为mysql数据库未正确安装

在mysql目录下执行: ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

 

参考自:

Link1Link2

useradd时的密码问题

 

posted @ 2017-07-18 21:44  Coder25  阅读(274)  评论(1编辑  收藏  举报