SUSE11.2 下 mysql5.1的安装与简单配置(包括用户和字符集)

<script type="text/javascript"></script>

SUSE11.2 下 mysql5.1的安装与简单配置(包括用户和字符集)

2010-04-18 15:46 by xiaguangme, 19 visits, 网摘, 收藏, 编辑

1.安装与卸载
1.1先用 rpm -qa | grep -i mysql 查看安装了哪些mysql相关的包(查看相关环境)
linux-9rgr:/home/tools # rpm -qa | grep -i mysql

其实我们需要 mysql-5.1.36-6.7.2.i586
 mysql-client-5.1.36-6.7.2.i586
这两个包

1.2为了演示我先卸载这两个包:

      
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> linux - 9rgr: / etc # rpm -ev mysql-5.1.36-6.7.2.i586 linux - 9rgr: / etc # rpm -ev mysql-client-5.1.36-6.7.2.i586

 

 

清理相关配置文件
一个是/etc/ 目录下的my.cnf文件(这个文件有可能在卸载时已经自动删除了,若未删除就手动删除)
一个是/var/lib 目录下的mysql目录
linux-9rgr:/var/lib # rm mysql -rf

1.3 安装mysql5.1
我直接从 suse11.2光盘上抓rpm包,当然你也可以直接从mysql的官网寻求一个镜像后抓。
Suse11.2自带的mysql rpm在光盘上的目录为(假设光盘挂载在/media/CDROM/目录下)
/media/CDROM/suse/i586

 

我们现安装mysql-client-5.1.36-6.7.2.i586.rpm(注意安装顺序,因为依赖性)
rpm -ivh mysql-client-5.1.36-6.7.2.i586.rpm
然后再安装mysql-5.1.36-6.7.2.i586.rpm
rpm -ivh mysql-5.1.36-6.7.2.i586.rpm
当看mysql的service能成功启动时,证明已经成功安装
我们再加一步测试:
mysql -h localhost
当出现mysql>
 就是OK了。
Mysql默认在:/etc/init.d/
linux-9rgr:/etc/init.d # ls mysq* -a
mysql


2.配置
linux上的mysql的配置文件正如上面所提到的在/etc/ 目录下的my.cnf文件,个人感觉类似于windows下的C:\Program Files\MySQL\MySQL Server 5.1目录下的my.ini配置文件(仅臆断未考证)


2.1字符集配置
参考
http://www.cnblogs.com/anjou/archive/2007/02/16/651638.html
根据需要修改 /etc/my.cnf,参考配置:
[mysqld]
# 设置默认为 INNODB 表,支持事务,支持行锁:
default-storage-engine=INNODB
# 设置默认的字符集:
default-character-set=utf8

2.2用户配置
参考http://blueram.iteye.com/blog/316642
mysql> select host,user,password from user;
+------------+-----------+-------------------------------------------+
| host       | user      | password                                  |
+------------+-----------+-------------------------------------------+
| localhost  | root      |                                           |
| linux-9rgr | root      |                                           |
| 127.0.0.1  | root      |                                           |
| localhost  |           |                                           |
| linux-9rgr |           |                                           |
| %          | simoncook | *BB78605D2BD339161DFC5E158C72BBADC8293935 |
+------------+-----------+-------------------------------------------+

 由于安装MySQL完后,MySQL会自动提供一个不带密码的root用户,为了安全起见给root设置密码:

#mysqladmin -u root password 123 (123为密码,也可以写成:'123'或"123") ;

添加 MySQL 用户(user name:user1,password:sql):
grant all on *.* to user1@'%' identified by 'sql' with grant option
mysql>flush privileges; (刷新系统权限表)

参考http://www.jb51.net/LINUXjishu/10981.html
清除usesr为null或者''的用户

1 delete from user where uses is NULL;
2 delete from user where user='';


user表如下:
mysql> select host,user,password from user;
+------------+-----------+-------------------------------------------+
| host       | user      | password                                  |
+------------+-----------+-------------------------------------------+
| localhost  | root      | *BB78605D2BD339161DFC5E158C72BBADC8293935 |
| linux-9rgr | root      |                                           |
| 127.0.0.1  | root      |                                           |
| %          | simoncook | *BB78605D2BD339161DFC5E158C72BBADC8293935 |
+------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
完成后我在本机依然不能正常连接,但在局域网内的另一台机器上可以连接
报错:
linux-9rgr:/etc/init.d # mysql -h localhost -u simoncook -p
Enter password:
ERROR 1045 (28000): Access denied for user 'simoncook'@'localhost' (using password: YES)
不懂为啥
刚才又试了下,在本机上不能用localhost  127.0.0.1,用局域网的ip(10.128.156.51)就没这样的问题了,
mysql -h 10.128.156.51 -u simoncook -p

那么我现在就类似地这样做:(user1和sql换成你刚才有问题的那个用户名和密码)
grant all on *.* to user1@'localhost' identified by 'sql' with grant option
实际上就把刚才那个用户又添加了一遍,只不过是在user表中的host列的值不一样了,这个值被指定成了localhost了

 

后来发现 http://laffers.net/howtos/howto-install-mysql 这个文章也不错,,,

你可能感兴趣的:(sql,mysql,linux,SQL Server,SuSE)