0%

在Mac OS X上安装Git

在 Mac 上安装 Git 有两种方式。最容易的当属使用图形化的 Git 安装工具,界面如图 1-7,下载地址在:http://sourceforge.net/projects/git-osx-installer/

另一种是通过 MacPorts (http://www.macports.org) 安装。如果已经装好了 MacPorts,用下面的命令安装 Git:

1
$ sudo port install git-core +svn +doc +bash_completion +gitweb

这种方式就不需要再自己安装依赖库了,Macports 会帮你搞定这些麻烦事。一般上面列出的安装选项已经够用,要是你想用 Git 连接 Subversion 的代码仓库,还可以加上 +svn 选项,具体将在第八章作介绍。(译注:还有一种是使用 homebrew(https://github.com/mxcl/homebrew) :brew install git。)

安装完成后,还需要最后一步设置,在命令行输入:

1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

注意git config命令的—global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

阿里云的空间没有续费,资源被释放了,代老师又要重启应用,这下就只有重新装系统装软件了。在这篇文章中,记录一下关于数据库Mysql的安装及配置过程。

安装Mariadb

  1. 安装命令
    1
    yum -y install mariadb mariadb-server
  2. 启动

    1
    systemctl start mariadb

    同时补充其他几个命令

    1
    2
    3
    systemctl stop mariadb # 关闭服务
    systemctl restart mariadb # 重启服务
    systemctl status mariadb # 查看状态
  3. 进行Mariadb相关的简单初始化配置

    1
    mysql_secure_installation

    输入root密码,当然第一次密码为空,直接回车

    1
    Enter current password for root (enter for none):

    设置密码

    1
    2
    3
    Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
    New password: <– 设置root用户的密码
    Re-enter new password: <– 再输入一次你设置的密码

    其他配置

    1
    2
    3
    4
    Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
    Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
    Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
    Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

配置Mariadb的字符集

登录数据库

1
$ mysql -u root -p

查看当前字符集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
MariaDB [(none)]> show variables like "%character%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

MariaDB [(none)]> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

修改字符集为utf-8

1
vi /etc/my.cnf

在[mysqld]后添加

1
character_set_server=utf8

再次查看字符集
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
MariaDB [(none)]> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

MariaDB [(none)]> show variables like '%collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+

设置权限

授予root外网登陆权限

1
mysql>grant all privileges on *.* to root@'%' identified by <password> WITH GRANT OPTION;

到此为止,mysql的安装及初始化配置已经完成。

开启开机启动

1
systemctl enable mariadb

新版本的CentOS已经不使用chkconfig命令了

设置开机不自动启动则是

1
systemctl disable mariadb

查看此服务是否为开机启动

1
systemctl is-enabled mariadb

查看开机自启动的命令

1
ls /etc/systemd/system/multi-user.target.wants/

异常情况恢复

如果root自己把自己的权限弄没了,可以通过如下命令进入

1
# mysqld_safe --skip-grant-tables &

这时进入mysql是不需要密码的。

如何把root用户都删除了,这时通过CREATE USER命令或者GRANT命令都是没有用的。需要通过SQL语句来插入一个用户。

1
MariaDB [mysql]> INSERT INTO mysql.user (Host, User, Password) VALUES('localhost', 'root', PASSWORD('123456'));

然后把root用户其他所有的XXX_priv字段改为Y。这时,root用户的权限才算恢复过来了。

原来通过ssh client登录服务器时:

1
2
$ ssh root@192.168.1.100
root@192.168.1.100's password:

是需要登录用户输入密码的,如果密码强度设置得比较高的话,还是不太容易记忆的。每次登录前都得把密码记录翻出来看看,工作效率不是很高。

为了提高效率,我们可以在本地(client端)生成一个私钥,一个公钥。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ cd ~/.ssh

$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/simon/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/simon/.ssh/id_rsa.
Your public key has been saved in /Users/simon/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:aleqVoG5ecZ*****************qWkWaO0BTRG8 simon@Simon.local
The key's randomart image is:
+---[RSA 2048]----+
| ++. |
| B o.+ |
| * @ BEo |
| = O O.= o |
| . + XSB.o |
| o +.@o. |
| o o*oo |
| . .oo |
| .. |
+----[SHA256]-----+

$ ls
config id_rsa.pub
id_rsa known_hosts

然后登录到远程服务器,在~/.ssh目录下新建authorized_keys文件。

1
$ touch ~/.ssh/authorized_keys

把公钥(client端)的~/.ssh/id_rsa.pub文件的内容复制到服务器的.ssh/authorized_keys里面保存着。

这时,当你通过ssh root@192.168.1.100登录服务器时,就已经不需要输入密码了。