技术开发 频道

MySQL安装笔记

    【IT168 技术文档】学习了很长时间的linux,有必要做一下整理笔记了,以下是mysql的安装笔记,和常见的一些使用方法。
    因我喜欢调试优化系统,所以在编译安装时使用了一些选项增加编程后程序的执行效率,有些可能我理解有错,希望大家指出. mail:flashc@21cn.com

    ●安装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 \去除debug模式
    --with-extra-charsets=gb2312 \添加gb2312中文字符支持
    --enable-assembler \使用一些字符函数的汇编版本
    --without-isam \去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表
    --without-innodb \去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用
    --with-pthread \强制使用pthread库(posix线程库)
    --enable-thread-safe-client \以线程方式编译客户端
    --with-client-ldflags=-all-static \
    --with-mysqld-ldflags=-all-static \以纯静态方式编译服务端和客户端

    # make
    # make install
    # scripts/mysql_install_db \生成mysql用户数据库和表文件
    # cp support-files/my-medium.cnf /etc/my.cnf \copy配置文件,有large,medium,small三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值
    # cp support-files/mysql.server /etc/init.d/mysqld \copy启动的mysqld文件
    # 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
    看看有没有3306的端口打开,如果mysqld不能启动,看看/web/mysql/var下的出错日志,一般都是目录权限没有设置好的问题
    # ln -s /web/mysql/bin/mysql /sbin/mysql
    # ln -s /web/mysql/bin/mysqladmin /sbin/mysqladmin
    # mysqladmin -uroot password "youpassword" #设置root帐户的密码
    # mysql -uroot -p
    # 输入你设置的密码
    mysql>use mysql;
    mysql>delete from user where password=""; #删除用于本机匿名连接的空密码帐号
    mysql>flush privileges;
    mysql>quit

    ●安装DBI和DBD for mysql 用于提供perl访问mysql数据库的接口规范,请确认你已经安装了perl,一般默认系统都装上了

    # 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
    因为有的perl程序中perl的路径是/usr/local/bin/perl,而红帽系统默认是/usr/bin/perl,所以最好做一个连接,保证兼容性
    # ln -s /usr/bin/perl /usr/local/bin/perl
    # cd ../DBD-mysql-2.9002
    生成安装配置文件需要在perl Makefile.PL后添加一些参数,比较麻烦,我们可以通过添加一个到/web/mysql/bin/mysql_config这个程序的连接解决问题
    系统会自动寻找这个命令生成安装所需要的数据库参数
    # ln -s /web/mysql/bin/mysql_config /sbin/mysql_config
    # perl Makefile.PL
    # make
    # make instll (这里make test我总是运行一半就出错,但是安装后是可以运行mysql目录下的测试脚本,不知道3.x的mysql如何)
    现在你可以运行测试脚本了,不过速度很慢,挂在后台好了
    # perl /web/mysql/sql-bench/run-all-tests --user=root --password="youpassword"

    ●mysql常见的一些有用的选项和命令

    mysqld -----开启日志支持
    --log
    --log-update
    --log-long-formart

    ●mysql

    grant all on database.* to user identified by "password" 新建一user用户,赋予其database数据库的所有权限
    revoke all on database from user 移除user用户在database数据库上的所有权限
    mysql -uroot -p --one-database databasename < file.sql 从file.sql文件导入sql语句到databasename这个数据库里

    ●mysqladmin

    mysqladmin flush-logs 命令mysqld重新打开一个新的日志文件,就是清空老日志文件,相当于轮回了

    ●mysqldump

    --add-drop-table 导出sql语句时添加droptable if exists语句
    --quick 快速导出 
    --opt 优化选项(推荐)

    ●myisamchk

    检查表选项
    --extend-check 扩展检查
    --medium-check 速度比较折中的一个检查选项
    修复表选项
    --recover 修复表文件
    --safe-recover 安全修复表文件,比--recover要慢
    修饰修复表项
    --force 强制清除上次的临时文件
    --quick 只根据素引文件的内容进行修复

    ●mysql的管理 

    可以使用phpmyadmin(需要php的环境支持)和mysqlcc(linux图形界面支持,WINDOWS系统支持)

0
相关文章