现在的位置: 首页 > 综合 > 正文

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

2018年01月17日 ⁄ 综合 ⁄ 共 4252字 ⁄ 字号 评论关闭

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

 

 

创建远程帐号

 

  1. 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数据库….

抱歉!评论已关闭.