mysql安装二进制安装
1:版本:5.0.22
# tar -zxvf mysql-5.0.22.tar.gz # cd mysql-5.0.22 #./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --with-comment=Source --with-mysqld-user=mysql --without-debug --with-big- tables --with-charset=utf8 --with-collation=utf8_general_ci --with-extra- charsets=all --with-pthread --enable-static --enable-thread-safe-client -- with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable- assembler --without-ndb-debug这一步编译遇到了一个错误:checking for termcap functions library... configure:
error: No curses/termcap library found
解决方法:
# yum install ncurses ncurses-devel gcc-c++
# make # make install
CMakeLists.txt:268 (MYSQL_CHECK_READLINE)错误
解决方法:rm -rf CMakeCache.txt
下面还有进行配置
1:添加mysql用户及用户组,用来运行mysql数据库
# groupadd mysql //创建一个mysql组 # useradd -g mysql mysql //创建一个mysql用户
2:mysql解压目录下,生成mysql系统数据库,我的在/usr/local/mysql下
# cd /usr/local/mysql # bin/mysql_install_db --user=mysql
5.5以上版本可能不在这里用:
# cd scripts/ # sudo ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql
3:设置权限,不然启动不了(注意下面都是在mysql安装目录下,我这里是/usr/local/mysql)
# chown -R root:mysql . (注意后面的点) # chown -R mysql /var/lib/mysql //因为/var/lib/mysql的权限不允许mysql服务访问,所以要加
4:(注意下面都是在mysql安装目录下,我这里是/usr/local/mysql)
# cp share/mysql/my-huge.cnf /etc/my.cnf # cp share/mysql/mysql.server /etc/init.d/mysqld
5.5以上版本可能不在这里用:
# cd /usr/local/mysql/support-files/ # cp my-medium.cnf /etc/my.cnf # cp mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld # chkconfig --add mysqld设置系统服务
5:启动,加密码
# /etc/init.d/mysqld start (启动mysql)
报错:mysql Starting MySQL..The server quit without updating PID file
修改etc/my.cnf 加上:datadir = /usr/local/mysql/data 搞定
bin/mysqladmin -u root password "123" (加密码) 这里是 123
附录编译参数:
--localstatedir=/var/lib/mysql (mysql的默认保存数据库的路径。)
--with-comment=Source
--with-mysqld-user=mysql (指定守护进程的用户)
--without-debug (去除诊断模式,如果用--with-debug=full编译,大多数查询慢20%)
--with-big-tables (支持大数据库表 4G以上)
--with-charset=utf8 (指定字符集)
--with-collation=utf8_general_ci (校对规则)
--with-extra-charsets=all (指定附加的字符集)
--with-pthread (强制使用pthread类库)
--enable-static
--enable-thread-safe-client
--with-client-ldflags=-all-static (静态编译MySQL客户端)
--with-mysqld-ldflags=-all-static (静态编译MySQL服务器端)
--enable-assembler (使用汇编模式)
--without-ndb-debug (禁用special ndb debug特性)
MySQL自5.5版本以后,就开始使用CMake编译工具了,具体可以搜索一下CMake文章
上面的换成:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DWITH_COMMENT='Source' -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all