Linux下安装mysql

来源:互联网 发布:徽商期货什么软件 编辑:程序博客网 时间:2024/06/05 12:06

CentOS下安装mysql

一、下载Mysql:http://www.mysql.com/downloads/mysql-4.0.html, Linux下安装需要MySQL-server-5.6.11-2.linux_glibc2.5.x86_64.rpmMySQL-client-5.6.11-2.linux_glibc2.5.x86_64.rpm两个安装包。

二、在安装包目录下执行rpm –ivhMySQL-server-5.6.11-2.linux_glibc2.5.x86_64.rpm 与 rpm –ivhMySQL-client-5.6.11-2.linux_glibc2.5.x86_64.rpm。

问题一:版本冲突,报错信息

“Transaction CheckError:  

file/usr/share/man/man1/xmlcatalog.1.gz from install of libxml2-2.6.29-1.fc6conflicts with file from packagexxxx

file/usr/share/man/man1/xmllint.1.gz from install of libxml2-2.6.29-1.fc6 conflictswith file from packagexxxx

        file /usr/share/man/man1/xsltproc.1.gzfrom install of libxslt-1.1.21-1.fc6 conflicts with file from packagexxxx

原因:与之前安装过的软件包冲突,将其卸载即可。查询命令:rpm -qa | grep –I XXX  卸载命令:rpm -ev –nodepsXXX

三、执行netstat –nat查看3306端口是否被监听,若没有被监听则需手动启动mysql,执行/etc/init.d/mysql start

四、登录mysql,执行mysql –u user–p password

问题一:报错“Access denied for user 'root'@'localhost' (using password:YES)”。造成该问题的原因是mysql的user表中存在空用户,而空用户可以匹配所有用户故造成此原因。可将空用户删除,或将密码为空的用户设置密码。

解决方法:

# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

(运行这段语句时一定要等待其执行完毕,不可新开窗口或进行其他操作,否则无效)
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword')where USER='root';

PASSWORD('newpassword') 为一整体
mysql> FLUSH PRIVILEGES;
mysql> quit

# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

执行完以上的程序,访问mysql时有可能遇到以下问题:“ERROR 1820 (HY000): You must SETPASSWORD before executing this statement”

解决方法:运行“SETPASSWORD = PASSWORD('新密码');”

 

五、远程访问,使用Navicat惊醒远程访问。

问题一:报错“ERROR1130:HostXXX.XXX.XXX.XXX is not allowed to connection to this Mysql server”

解决方法:将目标服务器mysql数据库中的对应用户名的Host由localhost改为%,位置为mysql数据库user表。

引用:

今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130ERROR 1130: Host 192.168.2.159 is not allowed to connect to this MySQL server 
猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。
mysql -u root -p

mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host'   from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。

 

 

原创粉丝点击