您的位置:首页 > 产品设计 > 产品经理

Ubuntu10.10 下使用RPM包安装配置mysql5.5

2012-05-09 15:10 676 查看
1. 下载

wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/MySQL-client-5.5.14-1.linux2.6.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/MySQL-devel-5.5.14-1.linux2.6.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/MySQL-server-5.5.14-1.linux2.6.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/MySQL-shared-5.5.14-1.linux2.6.x86_64.rpm
2. 把rpm转换为deb包

apt-get install alien

alien -d MySQL-client-5.5.14-1.linux2.6.x86_64.rpm

alien -d MySQL-server-5.5.14-1.linux2.6.x86_64.rpm

alien -d MySQL-devel-5.5.14-1.linux2.6.x86_64.rpm

alien -d MySQL-shared-5.5.14-1.linux2.6.x86_64.rpm

3. 卸载原mysql

dpkg -l|grep MySQL

dpkg -P libmysqlclient16

dpkg -P mysql-common

dpkg -P mysql-client

dpkg -P mysql-devel

dpkg -P mysql-shared

dpkg -P mysql-server

4. 创建帐号

groupadd mysql

useradd -r -g mysql mysql

5. 安装

apt-get install libaio1

dpkg -i mysql-*.deb

6. 配置

mysql_install_db --user=mysql

cat > /etc/my.cnf <<EOF

# The following options will be passed to all MySQL clients

[client]

#password = your_password

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8

# The MySQL server

[mysqld]

character-set-server=utf8

language=/usr/share/mysql/english/

port = 3306

socket = /var/lib/mysql/mysql.sock

skip-name-resolve

#skip-locking

max_connect_errors=1000

max_connections=1000

max_allowed_packet = 10M

key_buffer = 128M

sort_buffer_size = 64M

net_buffer_length = 128K

read_buffer_size = 128M

read_rnd_buffer_size = 128M

myisam_sort_buffer_size = 128M

key_buffer_size=128M

table_open_cache=128

table_cache=128

thread_cache_size=64

query_cache_size=200M

query_cache_limit=200M

table_definition_cache=128

myisam_data_pointer_size=7

delayed_queue_size=256

preload_buffer_size=65536

delayed_queue_size=20

preload_buffer_size=1024

innodb_read_ahead_threshold=2

innodb_buffer_pool_size=128M;

innodb_additional_mem_pool=16M;

thread_concurrency = 2

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

[isamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[myisamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

EOF

7. 修改权限

若是前面mysql_install_db --user=mysql成功的话可以跳过这步

chown -R mysql:mysql /var/lib/mysql

8. 启动

service mysql start

创建远程帐号

grant all privileges on databaseName.* to remoteUserName@'%' identified by 'testpass';

9. mysql错误解决

mysql错误日志在 /var/lib/mysql/*.log里

1) 无法找到libaio.so.1

apt-get install libaio1

2) [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/host.frm' (errno: 13)

[ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)

这个错误产生原因是mysql运行的用户是mysql没有权限访问/var/lib/mysql,可以使用

chown -R mysql:mysql /var/lib/mysql

一、ubuntu11.10下MySQL的安装

在ubuntu命令行下输入

sudo apt-get install
mysql-server
即可安装mysql服务,默认在安装mysql-server时,会自动安装好 mysql-client。

同时安装好的mysql配置文件位置:/etc/mysql/my.cnf

启动mysql的快捷图标为:/etc/init.d/mysql

安装mysql图形界面 Mysql Administrator 这个直接在软件中心安装就可以。

二、编码问题的解决

查看当前MYSQL字符集[在mysql命令行模式下执行]:show variables like ‘character%’;

更改编码:sudo vim /etc/mysql/my.cnf

如果没安装vim 可以用sudo gedit /etc/mysql/my.cnf

找到[client] 添加如下两句:

//默认字符集为utf8

default-character-set=utf8

找到[mysqld] 添加添加如下四句:(注意每一行的前后都不能有空格)

//默认字符集为utf8

default-character-set=utf8

//设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行

init_connect=’SET NAMES utf8′

最后切换到vim的末行模式下执行wq退出vim编辑器.

停止数据库服务:sudo /etc/init.d/mysql stop

重新启动: sudo /etc/init.d/mysql start

进入数据库: mysql -uroot -p(你的密码)

查看编码: show variables like ‘% character %’;

此时应该就全是 utf8编码了。

三、 将MySQL服务 加入开机自启动

加入开机自启动: sudo update-rc.d mysql defaults

从开机自启动中移出: sudo update-rc.d -f mysql remove

四、远程连接ubuntu11.10下MySQL

vim /etc/mysql/my.cnf 或者sudo gedit /etc/mysql/my.cnf找到

bind-address = 127.0.0.1

这行,注释掉(如下)

#bind-address = 127.0.0.1

或者改为

bind-address = 0.0.0.0

允许任意IP访问,或者自己指定一个IP地址。

然后重启 MySQL

sudo /etc/init.d/mysql restart

授权用户能进行远程连接

grant all privileges on *.* to root@"%" identified by "password" with grant option;

flush privileges;

第 一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。 “%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成 你的mysql root帐号密码。

第二行命令是刷新权限信息,也即是让我们所作的设置马上生效。

此时再远程连接ubuntu下的MySQL应该能够连接上了

准备工作都已经完成,下篇我尝试用nodejs连接mysql数据库….
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: