以下内容为个人配置笔记,仅供参考,请勿用于生产环境
mysql服务可以利用apt系统自动安装,不过由于后面的应用服务中定制化需求比较多在此还是选择手动下载源码安装。
1.下载源码
到http://dev.mysql.com/downloads/mysql/#downloads去下载目前的稳定版本的source源码,我用的是5.1的版本,据说5.4的版本性能更bt,等有空试试。
#美国镜像
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz/from/http://mysql.llarian.net/
#台湾镜像
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz/from/http://mysql.ntu.edu.tw/
2.添加mysql用户和组:
sudo groupadd mysql -g 48
sudo useradd -g mysql mysql -u 48
48是我本地自动安装时添加的id编号,手动安装就自己指定一下好了,通常系统服务的id都在1000以下。
3.预备一些数据路径:
sudo mkdir -p /var/run/mysqld
sudo chown -R mysql /var/run/mysqld
sudo chmod -R g+wx /var/run/mysqld
#数据路径
sudo mkdir -p /data0/mysql0
sudo mkdir -p /data0/mysql0/data0
sudo mkdir -p /data0/mysql0/innodb
sudo chown -R mysql /data0/mysql0
sudo chmod -R g+wx /data0/mysql0
4.配置编译安装:
tar zxf mysql-5.1.45.tar.gz
cd mysql-5.1.45/
./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --includedir=/usr/local/include --libdir=/usr/local/lib --localstatedir=/var/run/mysqld --sysconfdir=/usr/local/mysql/etc --datadir=/data0/mysql0/data0 --with-unix-socket-path=/var/run/mysqld/mysqld.sock --with-mysqlmanager --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312,utf8 --without-debug --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --with-pthread --enable-thread-safe-client --with-big-tables --enable-local-infile --with-embedded-server --with-plugins=all
在vps里最好加上配置参数
--with-low-memory
不需要innodb可以去掉 --with-plugins=all
配置完毕后,编译安装:
make
sudo make install
设定mysql的配置文件my.cnf
sudo mkdir -p /usr/local/mysql/etc
sudo cp support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf
修改配置文件my.cnf,例如我本机的配置:
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] port = 3306 user = mysql socket = /var/run/mysqld/mysqld.sock pid-file = /var/run/mysqld/mysqld.pid datadir = /data0/mysql0/data0 tmpdir = /tmp skip-external-locking key_buffer_size = 8M max_allowed_packet = 16M table_cache = 64 sort_buffer_size = 512K join_buffer_size = 128K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M thread_stack = 192K thread_cache_size = 10 thread_concurrency = 8 #log_slow_queries = ON slow_query_log #log_slow_queries=slow-log slow_query_log_file=slow-log long_query_time = 3 open_files_limit = 600 back_log = 20 max_connections = 100 max_connect_errors = 200 myisam_max_sort_file_size = 10G ##myisam_max_extra_sort_file_size = 10G myisam_repair_threads = 1 myisam_recover bulk_insert_buffer_size = 2M default_table_type = MyISAM transaction_isolation = READ-UNCOMMITTED tmp_table_size = 512K max_heap_table_size = 32M #query_cache_size = 0M #query_cache_limit = 2M #query_cache_min_res_unit = 2k skip-innodb ##log_long_format log-short-format log-bin=mysql-bin binlog_format=mixed binlog_cache_size = 2M max_binlog_cache_size = 4M max_binlog_size = 512M expire_logs_days = 7 server-id = 1 binlog-ignore-db=mysql binlog-ignore-db=information_schema binlog-ignore-db=aclocal binlog-ignore-db=test innodb_data_home_dir = /data0/mysql0/innodb/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /data0/mysql0/innodb/ innodb_buffer_pool_size = 16M innodb_additional_mem_pool_size = 2M innodb_log_file_size = 5M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [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
在etc配置路径下做个软链接:
sudo ln -s /usr/local/mysql/etc/my.cnf /etc/my.cnf
安装基本的数据库:
sudo scripts/mysql_install_db --datadir=/data0/mysql0/data0 --user=mysql
将启动脚本设定为系统服务:
sudo cp support-files/mysql.server /etc/init.d/mysqld
sudo vi /etc/init.d/mysqld
修改配置路径:
改为:
basedir=/usr/local/mysql datadir=/data0/mysql0/data0
修改执行权限,安装为系统服务,启动服务:
sudo chmod a+x /etc/init.d/mysqld
sudo update-rc.d mysqld defaults
sudo /etc/init.d/mysqld start
如果你需要修改root密码:
/usr/local/mysql/bin/mysqladmin -u root password '123456'
将一些常用命令链接到系统路径:
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/
sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin/
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
sudo ln -s /usr/local/mysql/bin/mysql_config /usr/bin/
至此mysql服务基本安装完毕,console下直接输入mysql连接入本地mysql服务器
/etc/init.d/mysqld 可以启动(start),停止(stop),重启(restart)mysql服务。

要说点啥就在这吧