今天在linux安裝了mysql,是用的是centos系統,我用的是yum安裝的。
yum install mysql-server mysql-devel mysql
修改數據的存儲目錄的時候遇到了些問題,記錄一下步奏。
默認的數據存儲目錄:/var/lib/mysql
我修改後的存儲目錄:/data/mysqldata/mysql
mysql 修改數據目錄:
1、停止mysql服務
service mysqld stop
2、複製原來的數據到新目錄,新目錄不存在請創建
mkdir -p /data/mysqldata/mysql
cp -fr /var/lib/mysql/* /data/mysqldata/mysql
3、修改目錄權限
chown mysql:mysql -R /data/mysqldata/mysql
4、修改配置文件
vi /etc/my.cnf
修改:
datadir=/data/mysqldata/mysql
socket=/data/mysqldata/mysql/mysql.sock
添加:
[mysql]
socket=/data/mysqldata/mysql/mysql.sock
附上my.cnf文件
[mysqld]
#datadir=/var/lib/mysql
datadir=/data/mysqldata/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/data/mysqldata/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
socket=/data/mysqldata/mysql/mysql.sock
vi /etc/init.d/mysqld
datadir "/data/mysqldata/mysql"
5、防止SELinux
chcon -R -t mysqld_db_t /data/mysqldata/mysql
// 處理SElinux另一個辦法 vi /etc/selinux/config 修改SELINUX=disabled
(如果步奏6,啓動報以下錯,就使用第五步的方法處理)
141209 23:52:32 [Warning] Can't create test file /data/mysqldata/mysql/localhost.lower-test
141209 23:52:32 [Warning] Can't create test file /data/mysqldata/mysql/localhost.lower-test
/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
141209 23:52:32 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
service mysqld start
如果要將mysql設置爲開機啓動:
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
7、添加用戶無法訪問情況
添加用戶:
mysql>
grant all privileges on *.* to root2@'%' identified by '123456';
mysql>
flush privileges;
mysql>
exit;
[root@localhost ~]# mysql -r root -p
輸入密碼,但是報錯了。
ERROR 1045 (28000): Access denied for user 'root2'@'localhost' (using password: YES)
解決方法:
改用root 登陸 ,然後做以下操作,刪除匿名用戶。
mysql> use mysql
mysql> delete from user where user='';
mysql> flush privileges;