LINUX下MYSQL完全安装使用指南
学习了😦很长时间的【de】linux,有必要【yǒu bì yào】⛎做一下整理笔【zhěng lǐ bǐ】⛅记了😦,以下是【shì】🥢mysql的安装【de ān zhuāng】笔记【bǐ jì】,和常见【hé cháng jiàn】的【de】一些使用方【shǐ yòng fāng】法。
因我喜欢调试优化系统【tǒng】,所以在【suǒ yǐ zài】编译安装【ān zhuāng】时使用【yòng】了😦一些选项🔽增加编【zēng jiā biān】程后程序的【de】执行效率🐒,有些可能我理【néng wǒ lǐ】🈲解有错【jiě yǒu cuò】🌞,希望大🔸家指出.
●安装【ān zhuāng】mysql
# tar zxvf mysql-4.0.14.tar.gz -C /setup
# cd /setup/mysql-4.0.14
# groupadd mysql
# useradd mysql -g mysql -M -s /bin/false
# ./configure --prefix=/web/mysql 指定安😟装目录
--without-debug 去除【qù chú】debug模式
--with-extra-charsets=gb2312 添加【tiān jiā】gb2312中文【wén】字符支持【zhī chí】🗳
--enable-assembler 使用【yòng】一些字符【xiē zì fú】🚣函数的【de】👹汇编版本
--without-isam 去掉😑isam表【biǎo】类型👼支持【zhī chí】🗳 现在【zài】很少用了【shǎo yòng le】🕘 isam表是【biǎo shì】🐜一种依赖🕡平台的【de】表【biǎo】
--without-innodb 去掉😑innodb表【biǎo】支持【zhī chí】📈 innodb是【shì】🐜一种支持【zhī chí】🗳事务处【shì wù chù】理🌜的【de】表【biǎo】,适合企【shì hé qǐ】业级应【yè jí yīng】🚮用【yòng】
--with-pthread 强制使用【yòng】pthread库(posix线程库【xiàn chéng kù】)
--enable-thread-safe-client 以线程【yǐ xiàn chéng】方式编🥚译客户端🐠
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static 以纯静🐪态方式🥘编译服务端和【wù duān hé】客户端🐠 --with-raid 激活🎅raid支持【zhī chí】🗳
# make
# make install
# scripts/mysql_install_db 生成【shēng chéng】mysql用【yòng】户🍸数据库【shù jù kù】🗝和表文【hé biǎo wén】件【jiàn】🕉
# cp support-files/my-medium.cnf /etc/my.cnf copy配置文【pèi zhì wén】📜件【jiàn】👬,有large,medium,small三个环【sān gè huán】🏷境下的【jìng xià de】💁,根据机【gēn jù jī】器性能【qì xìng néng】🖇选择🤙,如果【rú guǒ】👃负荷比📒较大,可修改里【lǐ】面的【de】一些变【yī xiē biàn】量的【de】内存使用【cún shǐ yòng】值【zhí】🍧
# cp support-files/mysql.server /etc/init.d/mysqld copy启动的【de】mysqld文【wén】件【jiàn】🕉
# chmod 700 /etc/init.d/mysqld
# cd /web
# chmod 750 mysql -R
# chgrp mysql mysql -R
# chown mysql mysql/var -R
# cd /web/mysql/libexec
# cp mysqld mysqld.old
# strip mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# service mysqld start
# netstat -atln
看看有【kàn kàn yǒu】🤔没有【méi yǒu】3306的端口【de duān kǒu】🅰打开【dǎ kāi】🥝,如果【rú guǒ】👃mysqld不能启🍧动,看看/web/mysql/var下的【de】出🥈错🚞日志,一般都是【shì】🐜目录权限【quán xiàn】没有【méi yǒu】设置➕好的【de】问题【wèn tí】🌎
# ln -s /web/mysql/bin/mysql /sbin/mysql
# ln -s /web/mysql/bin/mysqladmin /sbin/mysqladmin
# mysqladmin -uroot password "youpassword" #设置➕root帐户的【de】密码🚍
# mysql -uroot -p
# 输入你【shū rù nǐ】设置➕的【de】密码🚍
mysql>use mysql;
mysql>delete from user where password=""; #删除用【yòng】于本机匿名连【nì míng lián】❔接的【de】空密码帐【mì mǎ zhàng】🎇号【hào】
mysql>flush privileges;
mysql>quit
●安装【ān zhuāng】DBI和【hé】DBD for mysql 用于提【yòng yú tí】❎供perl访问mysql数据库【shù jù kù】🗝的【de】接口规范,请确认🖼你已经安装了【ān zhuāng le】😦perl,一般默认系统【tǒng】🐭都装上了😦
# cd /setup
# tar zxvf DBD-mysql-2.9002.tar.gz -C /setup
# tar zxvf DBI-1.38.tar.gz -C /setup
# cd DBI-1.38
# perl Makefile.PL
# make
# make test
# make install
因为有【yīn wéi yǒu】的【de】perl程序中【chéng xù zhōng】perl的路径【de lù jìng】🏞是【shì】🐜/usr/local/bin/perl,而红帽系统【tǒng】默认是【shì】🤛/usr/bin/perl,所以最好做一个连接,保证兼【bǎo zhèng jiān】容性【róng xìng】🔪
# ln -s /usr/bin/perl /usr/local/bin/perl
# cd ../DBD-mysql-2.9002
生成【shēng chéng】安装【ān zhuāng】配置文【pèi zhì wén】📜件【jiàn】👬需要📯在【zài】perl Makefile.PL后添加【hòu tiān jiā】一些参📜数,比📒较麻烦【jiào má fán】🔎,我们可以通过添加【tiān jiā】一个到/web/mysql/bin/mysql_config这个程序的【de】连🦀接解决🎀问题【wèn tí】🌎
系统【tǒng】会👯自动寻【zì dòng xún】找这个命令【mìng lìng】生成【shēng chéng】安装【ān zhuāng】所需要📯的数据【de shù jù】库🗝参数【cān shù】
# ln -s /web/mysql/bin/mysql_config /sbin/mysql_config
# perl Makefile.PL
# make
# make instll (这里【zhè lǐ】🔪make test我总是【shì】🐜运行一🙆半就出错🚞,但是【shì】🐜安装【ān zhuāng】后是【shì】😯可以运行🐔mysql目录下的【de】测试脚本,不知道3.x的【de】mysql如何🔀)
现在【zài】你可以运行🐔测试脚本了😦,不过速度很慢【dù hěn màn】💌,挂在【zài】后⌚台好了【tái hǎo le】😦
# perl /web/mysql/sql-bench/run-all-tests --user=root --password="youpassword"
附:
●mysql常见的【de】一些有用【yòng】的【de】选🤜项和【hé】命令【mìng lìng】
mysqld -----开启日志支持【zhī chí】🗳
--log
--log-update
--log-long-formart
●mysql
grant all on database.* to user identified by "password" 新建一user用【yòng】户🍸,赋予其database数据库【shù jù kù】🗝的【de】所有⏫权限【quán xiàn】
revoke all on database from user 移除🧥user用【yòng】户在【zài】🎬database数据库【shù jù kù】🗝上的【de】所⛵有权限【yǒu quán xiàn】
mysql -uroot -p --one-database databasename < file.sql 从file.sql文【wén】件【jiàn】🕉导入【dǎo rù】sql语句【yǔ jù】到databasename这个数据库【shù jù kù】🗝里【lǐ】
●mysqladmin
mysqladmin flush-logs 命令【mìng lìng】mysqld重新打【chóng xīn dǎ】🍇开一个新的日【xīn de rì】志文【wén】件【jiàn】🕉,就是【shì】🐜清空老【qīng kōng lǎo】日志文【wén】件【jiàn】🕉,相当于【xiàng dāng yú】轮回了😦
●mysqldump
--add-drop-table 导出sql语句【yǔ jù】时添加【tiān jiā】droptable if exists语句【yǔ jù】
--quick 快速导【kuài sù dǎo】出
--opt 优化选🐼项(推荐【tuī jiàn】)
●myisamchk
检查【chá】表【biǎo】选项
--extend-check 扩展检查【chá】
--medium-check 速度比【sù dù bǐ】📒较折中😜的【de】一个🏝检查【chá】选🔶项
修复表【xiū fù biǎo】选项
--recover 修复表【xiū fù biǎo】文【wén】🏦件【jiàn】👬
--safe-recover 安全修复表【xiū fù biǎo】文【wén】🏦件【jiàn】👬,比📒--recover要慢【yào màn】
修饰修复表【xiū fù biǎo】项
--force 强制清🌲除上次的【de】临时文【wén】件【jiàn】🕉
--quick 只根据素引文【wén】件【jiàn】🕉的【de】内容进行♉修复【xiū fù】
●mysql的【de】管理
可以使用【yòng】phpmyadmin(需要📯php的环境【de huán jìng】🐶支持【zhī chí】🗳)和【hé】mysqlcc(linux图形界面支持【zhī chí】🗳,WINDOWS系统支【xì tǒng zhī】🌸持【chí】)
关键词:LINUX,MYSQL
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1