linux下mySQL安装与排错两则

1.安装

使用redHat系操作系统安装MySQL比较简单,只需要输入yum命令即可自动安装:

sudo yum -y install mysql-server

  登录MySQL,如果出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)这样的错误信息,说明服务没有启动。

解决方法(mysql服务的启停):  

service mysqld restart  (重启)

service mysqld start

mysqladmin --user=root --password=root shutdown


2.乱码问题

连接linux机器之后发现取回来的查询结果是乱码。我使用的linux机器字符集为GB18030 ,而mysql数据编码是UTF-8。需要修改mysql的/etc/my.cnf文件。


添加配置:

[client]

default-character-set=utf8

[mysqld]

default-character-set=utf8

init_connect='SET NAMES utf8'


登录mysql,进行以下查询:

show variables like 'character%';

 

相关变量全部修改为utf8,说明查询成功


最后,别忘了在JDBC连接串后加上编码参数:jdbc:mysql://10.10.10.10:3306/myapp?characterEncoding=utf8

具体做法参考http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html

3.权限问题

mysql默认只允许localhost登录,为了让其他机器也能访问到,可以通过grant语句设置其他IP对本机的登录。允许用户外部用户myuser从ip为192.168.1.2的主机连接到mysql服务器的mydb数据库,在mysql命令行键入

GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'192.168.1.2' IDENTIFIED BY 'password' WITH GRANT OPTION;

并刷新权限:

FLUSH PRIVILEGES;


可以从mysql.user表查看到用户权限。

mysql> select host,user,password from mysql.user;

+-----------+------+-------------------------------------------+

| host      | user | password                                  |

+-----------+------+-------------------------------------------+

| %         | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| localhost | %    | *02B2C49EF94499C98065CD8F692B74340F52D7B4 |

| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

+-----------+------+-------------------------------------------+

3 rows in set (0.00 sec)

猜你喜欢

转载自leafry.iteye.com/blog/1551247
今日推荐