转载: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 <
# 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
创建远程帐号
grantallprivilegesondatabaseName.*toremoteUserName@'%'identifiedby'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配置文件位置:/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数据库….