Linux下安装MySQL5.0.37需要以下面三个包:
MySQL-client-community-5.0.37-0.rhel3.i386.rpm
MySQL-server-community-5.0.37-0.rhel3.i386.rpm
perl-DBI-1.53-2.fc7.i386.rpm
(以下步骤需要root权限)
1.验证是否已经安装过MySQL
rpm -qa|grep MySQL
如果发现有安装过,并需要卸载,使用下面命令
rpm -e MySQL-client-community MySQL-server-community
2.安装
执行:rpm -ivh MySQL-client-community-5.0.37-0.rhel3.i386.rpm MySQL-server-community-5.0.37-0.rhel3.i386.rpm
如果控制台提示:
error: Failed dependencies:
perl(DBI) is needed by MySQL-client-community-5.0.37-0.rhel3.i386
perl(DBI) is needed by MySQL-server-community-5.0.37-0.rhel3.i386
代表当前操作系统缺少DBI模块,请先安装DBI模块.
rpm -ivh perl-DBI-1.53-2.fc7.i386.rpm
提示下面文字代表正确安装:
Preparing... ########################################### [100%]
1:perl-DBI ########################################### [100%]
重新执行MySQL的安装命令
提示下面文字代表正确安装:
Preparing... ########################################### [100%]
1:MySQL-server-community ########################################### [ 50%]
2:MySQL-client-community ########################################### [100%]
3.初始化安装
/usr/bin/mysql_install_db
4.启动mysql
/etc/init.d/mysql start
(停止有两种方法:[mysqladmin -uroot -p shutdown] [/etc/init.d/mysql stop])
5.验证安装成功
netstat -nat|grep 3306
如果能看到下面一行说明正常安装:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
6.修改mysql的root用户密码
mysqladmin -u root password '123456'
7.登陆mysql客户端
mysql -uroot -p
输入:123456
8.建立数据库
mysql> create database gbkdb character set gbk;
Query OK, 1 row affected (0.01 sec)
9.为数据库gbkdb建立用户(用户:user 密码:123)
mysql> grant select,insert,update,delete,create on gbkdb.* to user@"%" identified by "123";
Query OK, 0 rows affected (0.01 sec)10.修改配置
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
在[client]下面增加一行:
[client]
default-character-set = gbk
在[mysqld]下面增加三行:
[mysqld]
default-character-set = gbk
default-collation = gbk_chinese_ci
init_connect = 'SET NAMES gbk'
在[mysql]下面增加一行:
[mysql]
default-character-set = gbk
11.重启MySQL
/etc/init.d/mysql restart
12.重登陆mysql控制台确认配置变化
mysql -uroot -p
输入:123456
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
13.在远程使用控制台登陆,确认用户可以使用
mysql -h10.10.1.156 -uuser -p
输入:123
mysql> use gbkdb;
Database changed
14.连接字符串
在应用中使用下面两种皆可:
jdbc:mysql://10.10.1.156/gbkdb?characterEncoding=gbk
jdbc:mysql://10.10.1.156/gbkdb?useUnicode=true&characterEncoding=GBK
说明:mysql5与mysql4的字符集处理方式不同
MySQL5已经可以很好的支持各种字符集,在安装完成之后可以不用修改配置文件就能支持GBK/GB2312等中文字符集
我们拷贝一个my.cnf出来修改是更好的支持客户端维护,省得需要每次都使用set names gbk;命令切换显示字符集.
如果在控制台出现乱码(如下方oprName),系控制台的显示问题:
mysql> SELECT * FROM user;
+-------+--------+---------+--------+-----------+
| oprId | passwd | oprName | roleId | oprStatus |
+-------+--------+---------+--------+-----------+
| 02562 | 000000 | ?? | ADMIN | ON |
+-------+--------+---------+--------+-----------+
1 rows in set (0.00 sec)
只需要执行set names命令即可;
mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT * FROM user;
+-------+--------+---------+--------+-----------+
| oprId | passwd | oprName | roleId | oprStatus |
+-------+--------+---------+--------+-----------+
| 02562 | 000000 | 赵军 | ADMIN | ON |
+-------+--------+---------+--------+-----------+
1 rows in set (0.00 sec)
----相关目录----
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
----常用命令----
1、显示数据库
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.04 sec)
2.打开库
mysql> use mysql;
Database changed
3.显示表
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.01 sec)