Linux安装mysql数据库——编译安装
发布时间:2022-03-26 12:46:03 所属栏目:MySql教程 来源:互联网
导读:Linux安装mysql数据库编译安装: 一. 注册一个oracle账号: Linux安装mysql数据库编译安装 二 .系统包准备 # yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-devel* make cmake 注意:ncurses
Linux安装mysql数据库——编译安装: 一. 注册一个oracle账号: Linux安装mysql数据库——编译安装 二 .系统包准备 # yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-devel* make cmake 注意:ncurses-devel是mysql的依赖包,必须安装。 1. 准备好mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的,如果yum已经安装成功,这步可以忽略) # tar -zxv -f cmake-2.8.4.tar.gz # cd cmake-2.8.4 #./configure # make # make install (2)创建mysql的安装目录及数据库存放目录 # mkdir -p /usr/local/mysql/ //安装mysql # mkdir -p /usr/local/mysql/data //存放数据库 # chown -R mysql:mysql /usr/local/mysql //把当前目录中所有文件的所有者所有者设为mysql,所属组为mysql # chown -R 1777 /tmp/ (3)创建mysql用户及用户组 # groupadd mysql # useradd -r -g mysql mysql (4)安装mysql # tar -zxv -f mysql-5.5.10.tar.gz # cd mysql-5.5.10 # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci # make # make install 参数说明: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录 -DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录 -DDEFAULT_CHARSET=utf8 //使用utf8字符 -DDEFAULT_COLLATION=utf8_general_ci //校验字符 -DEXTRA_CHARSETS=all //安装所有扩展字符集 -DENABLED_LOCAL_INFILE=1 //允许从本地导入数据 其他更多参数 http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html 注意事项: 重新编译时,需要清除旧的对象文件和缓存信息。 # make clean # rm -f CMakeCache.txt # rm -rf /etc/my.cnf 2. 数据库配置 (1) MYSQL系统服务 # cd /usr/local/mysql # cp support-files/my-medium.cnf /etc/my.cnf //将mysql的配置文件添加到系统中 # cp support-files/mysql.server /etc/init.d/mysql //将mysql的启动服务添加到系统服务中 # cp support-files/mysql.server /etc/rc.d/init.d/mysql //将mysql的启动服务添加到系统服务中 # chmod +x /etc/init.d/mysql 注意:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。 在有的系统中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local/mysql/support-files/mysql.server中。 然后再用# service mysql start 来启动mysql 即可。 如果想让MySQL服务器在每次计算机重启时启动,键入如下命令(root用户身份): $chkconfig mysql on (2) 设置环境变量(因为默认只能在mysql/bin中执行mysql命令) [root@ rhel5~]# vi /home/mysql/.bash_profile //或修改全局环境变量/etc/profile, #echo 'export PATH= /usr/local/mysql/bin:$PATH >> /etc/pofile export PATH=/usr/local/mysql/bin:$PATH:$HOME/bin //这里注意将新的mysql bin目录添加到原来的PATH前面 //否则可能出现这个问题:http://oldboy.blog.51cto.com/2561410/1122867 #tail -l /home/mysql/.bash_profile //验证是否修改正确 # source /home/mysql/.bash_profile 4) 创建系统数据库的表 # cd /usr/local/mysql/scripts # ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql (5)手动启动mysql # cd mysql-5.5.10/mysql # ./bin/mysqld_safe --user=mysql & //启动MySQL,但不能停止 启动日志写在此文件下:/usr/local/mysql/data/localhost.err 关闭MySQL服务 [root@ rhel5 mysql]# mysqladmin -u root -p shutdown //这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。 (6) 另一种简单的启动mysql的方法(mysql已经被添加到系统服务中) [root@ rhel5~]# /etc/init.d/mysql start [root@ rhel5~]# /etc/init.d/mysql stop [root@ rhel5~]# /etc/init.d/mysql restart [root@ rhel5~]# netstat -lntup |grep 3306 //查看mysql是否启动 如果上述命令出现:mysql 未识别的服务,则可能mysql还没添加到系统服务中,查看服务文件 [root@szq init.d]# ll /etc/init.d/mysql -rwxr-xr-x. 1 root root 10904 Apr 13 04:42 /etc/init.d/mysql (7) 修改MySQL的root用户的密码以及打开远程连接 [root@ rhel5~]mysql mysql> select user,host from mysql.user; mysql> delete from mysql.user where user =''; mysql> delete from mysql.user where host ='::1'; 修改root密码方法1: [root@ rhel5~]mysql -u root -p --无密码登录 mysql> use mysql; mysql> desc user; mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。 mysql> update user set Password = password('xxxxxx') where User='root'; mysql> select Host,User,Password from user where User='root'; mysql> flush privileges; 修改root密码方法2: [mysql@db_server1 ]$ mysqladmin -u root -S /app/3308/mysql.sock password '123456' 重新登录:mysql -u root -p (8) 防火墙设置 mysql3306端口默认是不能开启的,若还不能进行远程连接,则关闭防火墙。也可以通过以下命令允许其通过。 # vi /etc/sysconfig/iptables 添加如下内容: -A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT # service iptables restart #/etc/rc.d/init.d/iptables stop 注意:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试。 (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |