今天尝试着通过源码编译安装mysql,遇到一些问题所以记录下来。
首先要对gcc编译参数进行设置: CFLAGS="-03" CXX=gcc CXXFLAGS="-03 -felide-constructors -fno-exceptions -fno-rtti"
我使用的configure参数如下:
./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static
--with-charset=utf8 --with-collation=utf8_general_ci --enable-thread-safe-client --with-big-tables --enable-community-features --enable-profiling --enable-static --enable-plugins=innobase,ndbcluster,myisam,partition
然后make 和 make install
用指令mkdir /usr/local/mysql/var,创建var目录,如果不手动创建该目录,在后续操作过程中会出错。将/usr/local/mysql/share/mysql/my-medium.cnf 拷贝到 /usr/local/mysql/var目录中,并改名位my.cnf。之前用groupadd和useradd创建过mysql用户组和mysql用户,现在输入指令,对数据库进行初始化 mysql_install_db --defaults-file=/usr/local/mysql/var/my.cnf --user=mysql
第一次执行的时候出错了,第二次执行顺利通过,不知道为啥。。。
然后输入mysqld_safe &,启动mysql服务。mysql的 root用户现在是没有密码的,输入"mysqladmin -u root password "newpassword",给root用户增加密码。
此时还需要对mysql进行初始化操作,mysql_upgrade -u mysql。现在输入mysql -uroot -hlocalhost -p,可以顺利登录了。