首页 > 服务器学习 > Linux > LAMP环境源码安装③mysql源码安装及初始化
2016
12-17

LAMP环境源码安装③mysql源码安装及初始化

安装mysql的一个依赖软件,在Debian和Ubuntu中叫做libncurses5-dev,在Redhat等其他系统叫做ncurses-devel。

mysql安装:使用比configure更先进的cmake方法,需要首先安装cmake命令,使用rpm包或yum安装都可以

cd命令进入mysql源码包的解压缩之后的文件夹,然后使用cmake命令:

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

-DWITH_MYISAM_STORAGE_ENGINE :编译myisam存储引擎,默认的存储引擎,不加也可以

-DWITH_INNOBASE_STORAGE_ENGINE :支持MyISAM存储引擎,这个也是默认安装的

-DWITH_MEMORY_STORAGE_ENGINE :支持MEMORY存储引擎。

-DWITH_READLINE :使用readline功能,就是行编辑库,通过readline,可以方便的在命令行上面移动,增删,复制,粘贴,搜索。比如:

ctrl+r 可以搜索历史命令,很常用的一个    ctrl+a 到行首

ctrl+e 到行尾    ctrl+u 删除到行首    ctrl+k 删除到行尾

ctrl+l 类似 clear 命令效果    ctrl+y 粘贴

-DMYSQL_UNIX_ADDR :Socket文件存放到目录

-DMYSQL_TCP_PORT :默认服务端口号

-DENABLED_LOCAL_INFILE :允许从本地导入数据

-DWITH_PARTITION_STORAGE_ENGINE

-DEXTRA_CHARSETS :安装支持所有字符集

-DDEFAULT_CHARSET :默认编码

-DDEFAULT_COLLATION :默认校队字符集

运行完成以后继续使用make && make install完成安装。

cmake安装配置运行以后会生成一个CMakeCache.txt文件,如果安装没有成功,那么删除该文件解决完错误以后重新运行cmake命令。

mysql安装完成以后需要手动设置php.ini文件中的mysql.default_socket选项的值(如果使用mysqli连接那么就是mysqli.default_socket选项),这个选项上下的几项是默认端口,默认客户端等

设置为cmake的配置中的-DMYSQL_UNIX_ADDR的值,在上面的例子中为/var/lib/mysql/mysql.sock

mysql.default_socket =/var/lib/mysql/mysql.sock,这样php才能与mysql连接

如果已经编译安装好,忘记了设置的值,可以在任何客户端连接mysql以后,执行语句:show variables like 'socket';查看

复制配置文件和服务控制脚本到相应位置:

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

my.cnf这个mysql的主配置文件的常用参数:

basedir=/usr/local/mysql :mysql的安装目录

datadir=/usr/local/mysql/data :数据库目录

port =3306:指定服务端口,默认3306 端口

default-storage-engine=MyISAM/MyISAM :设定数据库默认引擎

symbolic-links=0 :禁用符号链接以防止各种安全风险

user=mysql :服务的映射系统用户名

log-error=/var/log/mysqld.log

socket=/var/lib/mysql/mysql.sock :套接字的文件路径(编译安装时-DMYSQL_UNIX_ADDR参数设定的值)

skip-external-locking :该参数没有值,表示禁止外部锁定,降低系统出错几率,当外部锁定(external-locking)起作用时,每个进程要访问数据表,必须等之前进程完成操作并解除锁定。在检查数据库或者修复、优化表时,你必须保证在此过程中MySQL服务器没有正在操作的表。否则数据表可能出现异常。注释掉该参数则默认开启外部锁定。

skip-name-resolve :该参数没有值,禁止mysql对外部连接进行DNS解析,可大幅节约服务响应时间

key_buffer_size=16M :设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加

sort_buffer_size=512K :设置排序缓存区的大小 (每个连接独占)

read_buffer_size=256K :设置查询操作缓存区的大小 (每个连接独占)

join_buffer_size=1M :设置联合查询操作缓存区的大小 (每个连接独占)

max_connections :设置服务器最大连接进程数

server_id

配置并初始化mysql

1、添加用户并修改mysql安装目录的所有者和所属组为该用户,还要确保该用户对mysql的安装目录拥有执行权限(第2步做准备)。

useradd mysql

chown -R mysql.mysql /usr/local/mysql

chmod -R +x /usr/local/mysql

2、初始化mysql数据库

/usr/local/mysql/scripts/mysql_install_db \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

3、把mysql安装文件除了data以外的所有者设置为root,避免重复操作第二步初始化数据库而恢复为初始化状态。

chown -R root /usr/local/mysql

chown -R mysql /usr/local/mysql/data

4、使用mysql用户启动mysql服务

/usr/local/mysql/bin/mysqld_safe --user=mysql & :最后的&符号代表在后台运行。

或者已经添加了服务脚本/etc/init.d/mysqld可以使用service mysqld start启动mysql服务

5、测试mysql服务

/usr/local/mysql/bin/mysql -u username -p passwd

或者已经配置了执行mysql命令的环境变量可以直接使用mysql命令。

mysqladmin -u root password "newpasswd" -p :用于修改数据库密码

mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其命令格式:mysqladmin 选项 参数

create db_name :创建一个名为db_name的新数据库

debug :将debug信息写入错误日志

drop db_name : 删除一个名为db_name的数据库

extended-status :显示服务器状态变量和他们的值

flush-hosts :刷新缓存中的所有信息

flush-logs :刷新所有日志信息

flush-privileges :重新载入授权表

flush-status :清除状态变量

flush-tables :刷新所有的表

flush-threads :刷新线程的缓存

ping :显示服务器运行状态

processlist :正在运行服务器线程的列表

password new_password :更改密码

shutdown :关闭服务器

start-slave :在从服务器上启动同步

stop-slave :在从服务器上关闭同步

-u username :指定用户

-h localhost :指定连接的主机

-p :指定需要输入密码

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。