======================linux下安裝mysql=============================
linux安裝mysql出現libs報衝突解決
安裝mysql出現file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686類似的錯誤,搜索知道是服務器中已經安裝了mysql-libs-,卸載即可,使用 :
rpm -e --nodeps mysql-libs-5.1.* 即可卸載
Mysql下載地址。
http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/
http://mirrors.sohu.com/mysql/MySQL-5.5/
http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.5/
分別下載
MySQL-client-5.5.48-1.rhel5.x86_64.rpm
MySQL-devel-5.5.48-1.rhel5.x86_64.rpm
MySQL-server-5.5.48-1.rhel5.x86_64.rpm
安裝命令如下:
rpm -ivh MySQL-client-5.5.48-1.rhel5.x86_64.rpm MySQL-devel-5.5.48-1.rhel5.x86_64.rpm MySQL-server-5.5.48-1.rhel5.x86_64.rpm
提示安裝完成後,輸入mysql 看是否安裝成功
mysql
如果出現如下錯誤信息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
說明mysql服務還沒有啓動,輸入service mysql start啓動mysql服務
service mysql start
首次安裝時,默認密碼爲空,以root用戶mysql進入後,使用如下命令改密碼。
update mysql.user set password=password('123456') where User="root" ;
FLUSH PRIVILEGES; #刷新系統授權表
然後重啓mysql服務器,就修改了密碼。
rpm包安裝的MySQL是不會安裝/etc/my.cnf文件的,解決方法,只需要複製/usr/share/mysql目錄下的my-huge.cnf文件到/etc目錄,並改名爲my.cnf即可
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
配置遠程訪問
處於安全考慮,Mysql默認是不允許遠程訪問的,可以使用下面開啓遠程訪問
//賦予任何主機訪問數據的權限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '123456' WITH GRANT OPTION
//使修改生效
mysql>FLUSH PRIVILEGES
重啓mysql服務器,如果依然不能遠程訪問的話,那就很可能防火牆的原因了,可以在防火牆中開啓3306端口或者乾脆關掉防火牆。
開啓3306端口,命令如下:
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
# service iptables save
# service iptables restart
==============linux下忘記mysql root密碼解決方法======================
1、編輯MySQL配置文件my.cnf
vi /etc/my.cnf #編輯文件,找到[mysqld],在下面添加一行skip-grant-tables
[mysqld]
skip-grant-tables
按Esc,然後輸入:wq #保存退出
service mysql restart #重啓MySQL服務
2、進入MySQL控制檯
mysql -uroot -p #直接按回車,這時不需要輸入root密碼。
3、修改root密碼
update mysql.user set password=password('123456') where User="root" ;
FLUSH PRIVILEGES; #刷新系統授權表
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '123456' WITH GRANT OPTION;
4、取消/etc/my.cnf中的skip-grant-tables
vi /etc/my.cnf 編輯文件,找到[mysqld],刪除skip-grant-tables這一行
:wq! #保存退出
5、重啓mysql
service mysql restart #重啓mysql,這個時候mysql的root密碼已經修改爲123456
6、進入mysql控制檯
mysql -uroot -p #進入mysql控制檯
123456 #輸入密碼
==============mysql啓動錯誤====================================
MySQL manager or server PID file could not be found! [FAILED]
解決辦法:
首先查看一下進程
ps aux |grep mysq*
root 10274 0.0 0.0 68160 1336 ? S 13:43 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/irxpert-test.pid
mysql 10353 0.0 1.0 344360 39464 ? Sl 13:43 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/irxpert-test.err
--pid-file=/var/lib/mysql/irxpert-test.pid
root 11884 0.0 0.0 63384 760 pts/1 S+ 15:44 0:00 grep mysq*
如果看到上面的內容,那說明,Mysql的進程卡死了,這時用就要把這些卡死的進程都關閉
kill 10274
kill 10353
啓動Mysql就ok了
service mysql start