转载:http://xiaogangblog.com/archives/440
转载:http://yifangyou.blog.51cto.com/900206/609980
安装出来的是mysql版本是5.1.41-3ubuntu12.10 (Ubuntu),版本太低我们需要的mysql event只有在mysql 5.5才支持,因此我们需要安装mysql5.5.14
系统:Ubuntu 10.04 LTS
Ubuntu 10.04 LTS下用apt-get install mysql-server-5.1
安装出来的是mysql版本是5.1.41-3ubuntu12.10 (Ubuntu),版本太低我们需要的mysql event只有在mysql 5.5才支持,因此我们需要安装mysql5.5.14(mysql官方的最新稳定版本)
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数据库….
转载于:https://blog.51cto.com/ma3yi/802095