mysql安装前的准备工作

环境准备:linux系统  cmake   mysql安装包

卸载掉rpm包安装的mysql

Yum -y remove mysql mysql-server

Rm -rf /etc/my.cnf

安装解决依赖关系:yum -y install ncurses-devel openssl-devel bison gcc gcc-c++

mysql源码包安装

将源码包上传到/usr/local/src

Tar xzf mysql安装包

yum -y install cmake

yum -y install bison

groupadd mysql

useradd -g mysql mysql

cd /lamp/mysql-5.5.23

cmake\

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql\

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock  -DEXTRA_CHARSETS=all\

-DDEFULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci\

-DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1\

-DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306\

-DMYSQL_DATADIR=/usr/local/mysql/data\

-DSYSCONFDIR=/etc\

 

 

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  //安装位置

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock   //指定socket(套接字)文件位置

-DEXTRA_CHARSETS=all //扩展字符支持

-DDEFULT_CHARSET=utf8 //默认字符集

-DDEFAULT_COLLATION=utf8_general_ci //默认字符校对

-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎

-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎

-DWITH_READLINE=1 //支持readline

-DENABLED_LOCAL_INFILE=1 //启用加载本地数据库

-DMYSQL_USER=mysql //指定mysql运行用户

-DMYSQL_TCP_PORT=3306 //指定mysql端口

-DMYSQL_DATADIR=/usr/local/mysql/data  //数据库目录,非常重要,如果再企业里这里不是一个普通的目录而是一个存储挂载点

-DSYSCONFDIR=/etc  //配置文件目录

 

 

make && make install

 

实际生产环境中都是用脚本方式,因为手工效率低,容易出错,这里的配置选项是常用的,在实际生产环境中考虑到调优,性能,安排方面来做其他对应的选项。

 

Mysql初始化过程,初次使用

cd /usr/local/mysql

chown  mysql:mysql -R /usr/local/mysql  //设置所有者为mysql

./scripts/mysql_install_db --user=mysql  --datadir=/usr/loacl/mysql/data  //创建数据库授权表,初始化数据库,初始化失败的原因一般都是没有指定字符集等,主机名解析问题等

 

cp support-files/my-huge.cnf /etc/my.cnf  //大型数据库模板来初始化它的主配置文件

cp  support-files/mysql.server  /etc/init.d/mysqld   //复制开机启动服务脚本红字部分是源代码解压后目录位置

chmod a+x /etc/init.d/mysqld   //赋予开机自启动脚本执行权限

chkconfig --add mysqld     //添加到开机自启动

chkconfig  --list mysqld

chkconfig mysqld on

service mysqld on

service mysqld start

如果启动失败一般情况去看错误日志,它会告诉你原因,一般都是主机名能解析,字符集没有指定等原因

Netstat -an |grep mysql  //查看数据库是否启动,里面包含了配置文件,错误日志位置,安装信息,端口号,字符集等等进程信息

Vim /etc/profile  //编辑这个配置文件,方便以后每个人都直接使用mysql命令,不需要再加全路径

          



 //mysql路劲加入到环境变量中  ,红色字体是增加部分    

Source /etc/profile    //让配置文件生效

 

 

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile  添加到系统环境变量便于搜索,如果是rpm包会自动放到path变量中的

source /etc/porfile

 

登录测试:

Mysqladmin  -uroot password  mysql123  //设置mysql密码

Mysql -u root -p mysql123登录测试:

Ctrl+l  清屏