科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道4.15 安装后期的设置和测试

4.15 安装后期的设置和测试

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一旦你已经安装了MySQL(从一个二进制代码或源代码分发),你需要初始化授权表,启动服务器并且保证服务器正确运行。你也可以希望安排服务器在你的系统开机和关机时自动地被启动和停止。

作者:天极软件 来源:天极软件 2008年1月21日

关键字: 设置 安装 MySQL

  • 评论
  • 分享微博
  • 分享邮件

一旦你已经安装了MySQL(从一个二进制代码或源代码分发),你需要初始化授权表,启动服务器并且保证服务器正确运行。你也可以希望安排服务器在你的系统开机和关机时自动地被启动和停止。

通常,对从源代码分发的安装,你象这样安装授权表并启动服务器:

shell> ./scripts/mysql_install_db
shell> cd mysql_installation_directory
shell> ./bin/safe_mysqld &

对二进制分发,这样做:

shell> cd mysql_installation_directory
shell> ./bin/mysql_install_db
shell> ./bin/safe_mysqld &

测试在MySQL发行的顶级目录是最容易进行的。对二进制分发,这是你的安装目录(典型地类似“/usr/local/mysql”)。对源代码分发,这是你的MySQL源代码树的主目录。

在本小节和以后的小节中,下列命令中,BINDIR是到程序如mysqladminsafe_mysqld被安装地点的路径。对二进制分发,是在分发内的“bin”目录。对源代码分发,BINDIR可能是“/usr/local/bin”,除非在你运行configure时指定了一个“ /usr/local”以外的安装目录。EXECDIRmysqld服务器安装的地点,对二进制分发,这与BINDIR一样。对源代码分发,EXECDIR可能是“/usr/local/libexec”

测试详细在下面描述:

  1. 如果必要,启动mysqld服务器并且建立初始MySQL授权表,包含决定用户如何被允许连接服务器的权限。这通常用mysql_install_db脚本做:
    shell> scripts/mysql_install_db
    

    典型地,mysql_install_db仅在你第一次安装MySQL时需要运行,因此,如果你正在升级现有的安装,你可以跳过这一步。(然而,mysql_install_db的使用相当安全,并且将不更新已经存在的任何表,因此如果你是不能肯定做什么,你总是可以运行mysql_install_db。) mysql_install_dbmysql数据库里创建6个表(userdbhosttables_privcolumns_privfunc),初始权限的描述在6.10 设置初始MySQL权限给出。简单地说,这些权限允许MySQL root用户做任何事情,并且允许任何人创建立或使用一个名字以'test''test_'开始的数据库。如果你不设置权限表,当你启动服务器时,下列错误将在日志文件出现:

    mysqld: Can't find file: 'host.frm' 
    

    如果你不是通过明显地执行./bin/safe_mysqld来启动MySQL,上述错误可能也发生在MySQL二进制代码分发!你可能需要作为root运行mysql_install_db,然而,如果你喜欢, 如果用户能在数据库目录读并且写文件,你可以作为一个非特权(非--root)用户运行MySQL服务器。作为一个非特权用户运行MySQL的指令在18.8 怎样作为一个一般用户运行 MySQL中给出。如果你有mysql_install_db的问题,见4.15.1 运行mysql_install_db的问题。因为mysql_install_dbMySQL发行中,还有一些其他方法运行它:

    • 你可能想在运行mysql_install_db前编辑它,改变被安装到授权表中的初始权限。如果你想要在有相同权限的很多机器安装MySQL,这很有用。在这种情况下,你可能应该只需要增加几个额外的INSERT语句到mysql.usermysql.db表中!
    • 如果你想要在安装授权表后改变什么,你可以运行mysql_install_db,然后使用mysql -u root mysql作为MySQL root用户连接授权表,发出SQL语句直接修改授权表。
    • 在已经创建了授权表后,有可能全部再次创建。如果你已经安装了表但是随后又想要在编辑mysql_install_db以后再创建,你可能想要这样做。

    关于这些选项的更多信息,见6.10 建立初始MySQL权限

  2. 象这样启动MySQL服务器:
    shell> cd mysql_installation_directory
    shell> bin/safe_mysqld &
    

    如果你启动服务器的问题,见4.15.2 启动MySQL服务器的问题.

  3. 使用mysqladmin证实服务器正在运行。下列命令提供简单的测试来检查服务器启动和连接的应答:
    shell> BINDIR/mysqladmin version 
    shell> BINDIR/mysqladmin variables
    
    mysqladmin version的输出根据你的平台和MySQL版本略有不同,但是应该类似如下显示: 
    shell> BINDIR/mysqladmin version
    mysqladmin  Ver 6.3 Distrib 3.22.9-beta, for pc-linux-gnu on i686
    TCX Datakonsult AB, by Monty
    
    Server version          3.22.9-beta
    Protocol version        10
    Connection              Localhost via UNIX socket
    TCP port                3306
    UNIX socket             /tmp/mysql.sock
    Uptime:                 16 sec
    
    Running threads: 1  Questions: 20  Reloads: 2  Open tables: 3
    

    为了感觉你能用BINDIR/mysqladmin做其他事情,用--help选项调用它。

  4. 证实你能关掉服务器:
    shell> BINDIR/mysqladmin -u root shutdown
    
  5. 证实你能重启服务器。使用safe_mysqld或直接调用mysqld进行,例如:
    shell> BINDIR/safe_mysqld --log &
    

    如果safe_mysqld失败,从MySQL安装目录尝试运行它(如果你已经不在那里)。如果还不工作,见4.15.2 启动MySQL服务器的问题

  6. 运行一些简单的测试证实服务器正在工作。输出应该类似于下面所显示的:
    shell> BINDIR/mysqlshow
    +-----------+
    | Databases |
    +-----------+
    | mysql     |
    +-----------+
    
    shell> BINDIR/mysqlshow mysql
    Database: mysql
    +--------------+
    |    Tables    |
    +--------------+
    | columns_priv |
    | db           |
    | func         |
    | host         |
    | tables_priv  |
    | user         |
    +--------------+
    
    shell> BINDIR/mysql -e "select host,db,user from db" mysql
    +------+--------+------+
    | host | db     | user |
    +------+--------+------+
    | %    | test   |      |
    | %    | test_% |      |
    +------+--------+------+
    

    在“sql-bench”目录(在MySQL安装目录下)下还有基准测试套件,你能用来比较在不同的平台上MySQL表现如何。“ sql-bench/Results”目录包含对不同的数据库和平台许多运行结果。为了运行所有的测试,执行这些命令:

    shell> cd sql-bench
    shell> run-all-tests
    

    如果你没有“sql-bench”目录,你可能在对二进制分发使用一个RPM(源代码分发的RPM包括基准目录)。在这种情况下,在你能使用它以前,你必须首先安装基准套件。从MySQL 3.22开始,有名为“mysql-bench-VERSION-i386.rpm”的基准RPM包,它们包含基准代码和数据。如果你有源代码分发,你也可以在“tests”子目录下运行测试。例如,运行“auto_increment.tst”,这样做:

    shell> BINDIR/mysql -vvf test < ./tests/auto_increment.tst
    

    期望的结果被显示在“ ./tests/auto_increment.res”文件中。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章