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
参考自: